IF
Funkce IF vrátí jednu ze dvou hodnot v závislosti na tom, zda má zadaný výraz po vyhodnocení logickou hodnotu PRAVDA nebo NEPRAVDA.
IF(logický-výraz; pokud-pravda; pokud-nepravda)
logický-výraz: Jakýkoli logický výraz. Logický-výraz může obsahovat jakýkoli výraz, jehož výsledkem je logická hodnota. Pokud je výraz hodnocen jako číslo, bude 0 vyhodnocena jako NEPRAVDA a ostatní čísla jako PRAVDA.
pokud-pravda: Hodnota vrácená, pokud má logický-výraz hodnotu PRAVDA. Argument pokud-pravda může obsahovat hodnotu libovolného typu. Je-li argument pokud-pravda vynechán (je zadána čárka bez hodnoty) a logický-výraz má hodnotu PRAVDA, funkce IF vrátí hodnotu 0.
pokud-nepravda: Volitelný argument, který slouží k zadání hodnoty vrácené v případě, že má logický-výraz hodnotu NEPRAVDA. Argument pokud-nepravda může obsahovat hodnotu libovolného typu. Je-li argument pokud-nepravda vynechán (je zadána čárka bez hodnoty) a logický-výraz má hodnotu NEPRAVDA, funkce IF vrátí hodnotu 0. Pokud je argument pokud-nepravda zcela vynechán (po hodnotě pokud-pravda nenásleduje čárka) a logický-výraz má hodnotu NEPRAVDA, vrátí funkce IF hodnotu NEPRAVDA.
Poznámky
Jeden nebo oba výrazy pokud-pravda a pokud-nepravda mohou obsahovat další funkce IF (často označované pojmem vnořené funkce IF).
Příklady |
---|
Vzorec =IF(A5>=0; „Nezáporné“; „Záporné“) vrátí text „Nezáporné“, pokud buňka A5 obsahuje číslo větší nebo rovné nule, popř. jinou než numerickou hodnotu. Pokud buňka A5 obsahuje hodnotu menší než 0, vzorec vrátí hodnotu „Záporné“. Vzorec =IF(IFERROR(OR(ISEVEN(B4+B5); ISODD(B4+B5), NEPRAVDA), „Všechna čísla“; „Jen některá čísla“) vrátí text „Všechna čísla“, pokud buňky B4 a B5 obsahují čísla. V ostatních případech vrátí text „Jen některá čísla“. Tohoto výsledku se dosáhne testováním, zda je součet buněk sudý nebo lichý. Pokud buňka neobsahuje číslo, funkce EVEN a ODD vrátí chybu a funkce IFERROR vrátí hodnotu NEPRAVDA. V ostatních případech vrátí hodnotu PRAVDA, protože výsledek jedné z funkcí EVEN nebo ODD je PRAVDA. Pokud tedy některá z buněk B4 nebo B5 neobsahuje číslo nebo logickou hodnotu, funkce IF vrátí výraz pokud-nepravda, tj. „Jen některá čísla“. V ostatních případech vrátí výraz pokud-pravda, tj. „Všechna čísla“. |
Příklady – předcházení chybám vzniklým z dělení nulou |
---|
V některých případech nelze tabulku sestavit tak, abychom se přitom vyhnuli dělení nulou. Dojde-li však k dělení nulou, zobrazí se v buňce chybová hodnota, což je obvykle nežádoucí výsledek. Tento příklad ukazuje tři metody, jimiž lze výskytu této chyby zabránit. Předpokládejme, že buňky D2 i E2 obsahují čísla. Je možné, že buňka E2 obsahuje hodnotu 0. Chceme vydělit hodnotu D2 hodnotou E2, ale vyhnout se přitom chybě vzniklé z dělení nulou. Všechny tři následující metody vrátí pro nulovou hodnotu buňky E2 výsledek 0 a v ostatních případech výsledek dělení D2/E2. Výraz =IF(E2=0; 0; D2/E2) přímo testuje, zda nemá buňka E2 hodnotu 0. Výraz =IFERROR(D2/E2; 0) vrací nulu, pokud se vyskytne chyba. Dělení nulou je v tomto případě jedna z možných chyb. Výraz =IF(ISERROR(D2/E2); 0; D2/E2) používá logickou podmínku, která zjišťuje, zda má výraz D2/E2 hodnotu PRAVDA. |