
Obecný vzorec
= IF(criteria1*criteria2*criteria3,result)
souhrn
V zobrazeném příkladu je vzorec v F8:
(=SUM(IF((color="red")*(region="East")*(quantity>7),quantity)))
Poznámka: toto je maticový vzorec a musí být zadán pomocí kláves Control + Shift + Enter.
Vysvětlení
Poznámka: Tento příklad ukazuje, jak nahradit vnořený vzorec IF jediným IF ve vzorci pole pomocí logické logiky. Tuto techniku lze použít ke snížení složitosti složitých vzorců. Příklad je však pouze pro ilustraci. Tento konkrétní problém lze snadno vyřešit pomocí SUMIFS nebo SUMPRODUCT.
Vzorce v F7 a F8 vrátí stejný výsledek, ale mají různé přístupy. V buňce F7 máme následující vzorec používající vnořený přístup IF:
(=SUM(IF(color="red",IF(region="east",IF(quantity>7,quantity)))))
Takto Excel vyhodnotí investiční fondy uvnitř 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)))
V podstatě každý IF "filtruje" hodnoty do dalšího IF a pouze veličiny, kde všechny tři logické testy vracejí PRAVDU "přežijí" operaci. Ostatní veličiny se stanou NEPRAVDA a jsou součtem vyhodnoceny jako nula. Konečným výsledkem uvnitř SUM je řada hodnot, jako je tato:
=SUM((FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;8;FALSE;10))
FALSE hodnoty se vyhodnotí na nulu a funkce SUM vrátí konečný výsledek 18.
V F8 máme tento vzorec, který používá jeden IF a logickou logiku:
=SUM(IF((color="red")*(region="East")*(quantity>7),quantity))
Každý logický výraz vrací pole TRUE a FALSE hodnot. Když se tato pole násobí dohromady, matematická operace vynutí hodnoty na jedničky a nuly v jednom poli takto:
IF((0;0;0;0;0;0;1;0;1),quantity)
Pole hodnot 1s a 0s odfiltruje irelevantní data a stejný výsledek je doručen do SUM:
=SUM((FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;8;FALSE;10))
Stejně jako dříve vrátí SUM konečný výsledek 18.