
Általános képlet
= IF(criteria1*criteria2*criteria3,result)
Összegzés
A bemutatott példában az F8 képlete a következő:
(=SUM(IF((color="red")*(region="East")*(quantity>7),quantity)))
Megjegyzés: ez egy tömbképlet, amelyet a control + shift + enter billentyűkombinációval kell megadni.
Magyarázat
Megjegyzés: Ez a példa bemutatja, hogyan lehet egy beágyazott IF-képletet egy tömb-képletben egyetlen IF-re cserélni logikai logika segítségével. Ez a technika alkalmazható a komplex képletek összetettségének csökkentésére. A példa azonban csak illusztráció. Ez a probléma könnyen megoldható a SUMIFS vagy a SUMPRODUCT segítségével.
Az F7 és F8 képletei ugyanazt az eredményt adják, de eltérő megközelítéssel rendelkeznek. Az F7 cellában a következő képletet használjuk beágyazott IF megközelítéssel:
(=SUM(IF(color="red",IF(region="east",IF(quantity>7,quantity)))))
Az Excel így értékeli a SUM-on belüli IF-ket:
=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)))
Lényegében minden IF "kiszűri" az értékeket a következő IF-be, és csak azok a mennyiségek "élik túl" a műveletet, amelyeknél mindhárom logikai teszt IGAZ értéket ad vissza. Más mennyiségek HAMISokká válnak, és a SUM értéke nulla. A SUM belsejében a végeredmény egy ilyen értéktömb:
=SUM((FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;8;FALSE;10))
A FALSE értékek nullára értékelik, és a SUM függvény 18-as végeredményt ad vissza.
Az F8-ban ez a képlet van, amely egyetlen IF és logikai logikát használ:
=SUM(IF((color="red")*(region="East")*(quantity>7),quantity))
Minden logikai kifejezés egy TRUE és FALSE érték tömböt ad vissza. Ha ezeket a tömböket összeszorozzuk, a matematikai művelet egy és egy nullára kényszeríti az értékeket egyetlen tömbben:
IF((0;0;0;0;0;0;1;0;1),quantity)
Az 1s és 0s tömb kiszűri a lényegtelen adatokat, és ugyanaz az eredmény érkezik a SUM-hoz:
=SUM((FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;8;FALSE;10))
Mint korábban, a SUM is 18-as végeredményt ad.