Формула Excel: ЕСЛИ с логической логикой -

Содержание

Общая формула

= IF(criteria1*criteria2*criteria3,result)

Резюме

В показанном примере формула в F8:

(=SUM(IF((color="red")*(region="East")*(quantity>7),quantity)))

Примечание: это формула массива, и ее необходимо вводить с помощью Ctrl + Shift + Enter.

Объяснение

Примечание. В этом примере показано, как заменить вложенную формулу IF на один IF в формуле массива с использованием логической логики. Этот метод можно использовать для уменьшения сложности сложных формул. Однако этот пример предназначен только для иллюстрации. Эту конкретную проблему можно легко решить с помощью СУММЕСЛИМН или СУММПРОИЗВ.

Формулы в F7 и F8 возвращают один и тот же результат, но используют разные подходы. В ячейке F7 у нас есть следующая формула, использующая подход вложенного ЕСЛИ:

(=SUM(IF(color="red",IF(region="east",IF(quantity>7,quantity)))))

Вот как Excel оценивает IF внутри SUM:

=IF((TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;TRUE), IF((TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE), IF((FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE),quantity)))

По сути, каждая ЕСЛИ «фильтрует» значения в следующую ЕСЛИ, и только те величины, где все три логических теста возвращают ИСТИНА, «выживают» в операции. Остальные величины становятся ЛОЖНЫМИ и оцениваются СУММ как ноль. Конечный результат внутри SUM - это массив значений вроде этого:

=SUM((FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;8;FALSE;10))

Значения ЛОЖЬ равны нулю, а функция СУММ возвращает окончательный результат 18.

В F8 у нас есть эта формула, которая использует единственное ЕСЛИ и логическую логику:

=SUM(IF((color="red")*(region="East")*(quantity>7),quantity))

Каждое логическое выражение возвращает массив значений TRUE и FALSE. Когда эти массивы умножаются вместе, математическая операция приводит значения к единицам и нулям в одном массиве следующим образом:

IF((0;0;0;0;0;0;1;0;1),quantity)

Массив единиц и нулей отфильтровывает нерелевантные данные, и тот же результат передается в SUM:

=SUM((FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;8;FALSE;10))

Как и прежде, СУММ возвращает окончательный результат 18.

Интересные статьи...