Формула Excel: IF з логічною логікою -

Зміст

Загальна формула

= IF(criteria1*criteria2*criteria3,result)

Резюме

У наведеному прикладі формула в F8 має вигляд:

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

Примітка: це формула масиву, і її потрібно вводити за допомогою control + shift + enter.

Пояснення

Примітка: Цей приклад демонструє, як замінити вкладену формулу IF на одну IF у формулі масиву, використовуючи логічну логіку. Цей прийом можна використовувати для зменшення складності складних формул. Однак приклад наведено лише для ілюстрації. Цю конкретну проблему можна легко вирішити за допомогою SUMIFS або SUMPRODUCT.

Формули в F7 та F8 повертають однаковий результат, але мають різні підходи. У комірці F7 ми маємо таку формулу, використовуючи вкладений підхід IF:

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

Ось як Excel оцінює ПЧ всередині 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)))

По суті, кожен IF "фільтрує" значення в наступний IF, і лише величини, де всі три логічні тести повертають TRUE "переживають" операцію. Інші величини стають НЕПРАВИЛЬНИМИ і оцінюються сумою як нуль. Кінцевим результатом усередині SUM є масив значень, подібних до цього:

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

Значення FALSE обчислюються нулем, а функція SUM повертає кінцевий результат 18.

У F8 ми маємо таку формулу, яка використовує єдину IF та логічну логіку:

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

Кожен логічний вираз повертає масив значень TRUE і FALSE. Коли ці масиви множать разом, математична операція примушує значення до одиниць і нулів в одному масиві, як це:

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

Масив 1s і 0s відфільтровує нерелевантні дані і той самий результат доставляється в SUM:

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

Як і раніше, SUM повертає кінцевий результат 18.

Цікаві статті...