IF
Funkcia IF vráti jednu z dvoch hodnôt podľa toho, či sa zadaný výraz vyhodnotí ako booleovská hodnota TRUE alebo FALSE.
IF(výraz podmienky, ak pravda, ak nepravda)
výraz podmienky: Logický výraz. výraz podmienky môže obsahovať čokoľvek, pokiaľ bude výsledkom vyhodnocovania výrazu booleovská hodnota. Ak sa výraz vyhodnotí ako číslo, 0 sa považuje za hodnotu FALSE a ostatné čísla za hodnotu TRUE.
ak pravda: Vrátená hodnota, ak je výraz podmienky vyhodnotený ako TRUE. ak pravda môže obsahovať akúkoľvek hodnotu. Ak ak pravda vynecháte (vo vzorci bude čiarka, ale nebude tam žiadna hodnota) a výraz podmienky bude vyhodnotený ako TRUE, funkcia IF vráti 0.
ak nepravda: Voliteľný argument, ktorý špecifikuje vrátenú hodnotu, ak je výraz podmienky FALSE. ak nepravda môže obsahovať akúkoľvek hodnotu. Ak ak nepravda vynecháte (vo vzorci bude čiarka, ale nebude tam žiadna hodnota) a výraz podmienky bude vyhodnotený ako FALSE, funkcia IF vráti 0. Ak sa ak nepravda úplne vynechá (nie je čiarka za argumentom ak pravda) a výraz podmienky bude vyhodnotený ako FALSE, funkcia IF vráti hodnotu FALSE.
Poznámky
Argumenty ak pravda a ak nepravda môžu obsahovať ďalšie funkcie IF (označované ako vnorené IF funkcie).
Príklady |
---|
=IF(A5>=0; “Nezáporné”; “Záporné”) vráti text „Nezáporné“, ak bunka A5 obsahuje číslo väčšie ako alebo rovnajúce sa 0 alebo nečíselnú hodnotu. Ak bunka A5 obsahuje hodnotu menšiu ako 0, funkcia vráti hodnotu „Záporné“. =IF(IFERROR(OR(ISEVEN(B4+B5); ISODD(B4+B5)); FALSE); “Len čísla”; “Nielen čísla”) vráti text „Len čísla“, ak bunky B4 aj B5 obsahujú čísla. V opačnom prípade vráti text „Nielen čísla“. Dosiahne sa to testovaním, čím zistíte, či je súčet oboch buniek párny alebo nepárny. Ak bunka neobsahuje číslo, funkcie EVEN a ODD vrátia chybu a funkcia IFERROR vráti hodnotu FALSE. V opačnom prípade vráti hodnotu TRUE, pretože funkcie EVEN alebo ODD je TRUE. Preto, ak bunka B4 alebo B5 neobsahuje číslo alebo booleovskú hodnotu, príkaz IF vráti výraz ak nepravda „Nielen čísla“. V opačnom prípade vráti výraz ak pravda „Len čísla“. |
Príklady — predchádzanie prípadom, kedy dôjde k deleniu nulou. |
---|
V niektorých prípadoch nie je možné zostaviť tabuľku tak, aby sa predišlo deleniu nulou. Ak sa vo výpočte vyskytne delenie nulou, výsledkom je chybová hodnota v bunke, čo je obvykle neželaný výsledok. V nasledujúcom príklade si ukážeme tri rôzne spôsoby predchádzania tejto chybe. Predpokladajme, že bunky D2 a E2 obsahujú čísla. Je možné, že E2 obsahuje 0. Chceme vydeliť hodnotu v bunke D2 hodnotou v bunke E2 a zároveň predísť deleniu nulou. Každá z troch nižšie uvedených metód vráti 0, ak sa E2 rovná nule; ináč vráti výsledok D2/E2. =IF(E2=0; 0; D2/E2), priamo otestuje, či sa E2 rovná 0. =IFERROR(D2/E2; 0), ak sa vo výpočte vyskytne chyba, vráti 0. Delenie nulou je chyba. =IF(ISERROR(D2/E2); 0; D2/E2), vykoná logický test, ktorý vyhodnotí, či je D2/E2 TRUE. |
Príklad s použitím funkcie REGEX |
---|
Bunka A1 môže obsahovať "john@appleseed.com“ =IF(A1 = REGEX("([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})"); "Obsahuje email"; "Žiaden email") vráti „Obsahuje email“. |