
Všeobecný vzorec
= IF(criteria1*criteria2*criteria3,result)
Zhrnutie
V zobrazenom príklade je vzorec v F8:
(=SUM(IF((color="red")*(region="East")*(quantity>7),quantity)))
Poznámka: toto je vzorec poľa a musí sa zadávať pomocou klávesov Control + Shift + Enter.
Vysvetlenie
Poznámka: Tento príklad ukazuje, ako nahradiť vnorený vzorec IF jedným IF vo vzorci poľa pomocou logickej logiky. Túto techniku je možné použiť na zníženie zložitosti zložitých vzorcov. Príklad je však len ilustračný. Tento konkrétny problém by sa dal ľahko vyriešiť pomocou SUMIFS alebo SUMPRODUCT.
Vzorce v F7 a F8 vrátia rovnaký výsledok, ale majú odlišný prístup. V bunke F7 máme nasledujúci vzorec, ktorý používa vnorený prístup IF:
(=SUM(IF(color="red",IF(region="east",IF(quantity>7,quantity)))))
Takto program Excel vyhodnotí IF vo vnútri 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 podstate každý IF „filtruje“ hodnoty do nasledujúceho IF a operáciu prežijú iba veličiny, pri ktorých všetky tri logické testy vrátia hodnotu TRUE. Ostatné veličiny sa stávajú NEPRAVDA a sú hodnotené SUM ako nula. Konečným výsledkom vo vnútri SUM je pole týchto hodnôt:
=SUM((FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;8;FALSE;10))
FALSE hodnoty sa vyhodnotia na nulu a funkcia SUM vráti konečný výsledok 18.
Vo F8 máme tento vzorec, ktorý používa jeden IF a logickú logiku:
=SUM(IF((color="red")*(region="East")*(quantity>7),quantity))
Každý logický výraz vracia pole s hodnotami TRUE a FALSE. Keď sa tieto polia vynásobia, matematická operácia vynúti hodnoty na jednotky a nuly v jednom poli takto:
IF((0;0;0;0;0;0;1;0;1),quantity)
Pole 1 s a 0 s filtruje irelevantné údaje a rovnaký výsledok sa zobrazuje aj v SUM:
=SUM((FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;8;FALSE;10))
Rovnako ako predtým, SUM vráti konečný výsledok 18.