Funkcia IF je jednou z najuniverzálnejších a najobľúbenejších funkcií v Exceli a často sa používa viackrát v jednom vzorci, ako aj v kombinácii s inými funkciami. Bohužiaľ, vzhľadom na zložitosť, s ktorou možno zostaviť príkazy IF, je pomerne jednoduché naraziť na #VALUE! Ak je zadané umiestnenie pred prvou alebo za poslednou položkou v poli, výsledkom vzorca bude chybová hodnota #ODKAZ!. Chybu môžete zvyčajne potlačiť pridaním špecifických funkcií na spracovanie chýb, ako sú napríklad ISERROR, ISERR alebo IFERROR do vzorca.
Problém: Argument odkazuje na chybové hodnoty
Ak sa v bunke nachádza odkaz na chybovú hodnotu, funkcia IF zobrazí #VALUE! Ak je zadané umiestnenie pred prvou alebo za poslednou položkou v poli, výsledkom vzorca bude chybová hodnota #ODKAZ!.
Riešenie: Spolu s funkciou IF môžete použiť ktorýkoľvek vzorec na riešenie chýb, ako je napríklad ISERROR, ISERR alebo IFERROR. V nasledujúcich témach sa vysvetľuje použitie funkcií IF, ISERROR a ISERR alebo IFERROR vo vzorci, keď argument odkazuje na chybové hodnoty.
Poznámky:
-
Funkcia IFERROR bola oveľa vhodnejšia ako funkcia ISERROR alebo ISERR, pretože nevyžaduje redundantné vytvorenie vzorca. Funkcie ISERROR a ISERR vynútia výpočet vzorca dvakrát, najprv skontrolujte, či sa vyhodnotí ako chyba, a potom znova, aby sa vrátil jeho výsledok. Funkcia IFERROR vypočíta iba raz.
-
=IFERROR(Vzorec;0) je oveľa lepšia možnosť ako =IF(ISERROR(Vzorec;0;Vzorec))
Problém: Syntax je nesprávna
Ak syntax funkcie nie je zostavená správne, môže vrátiť #VALUE! Ak je zadané umiestnenie pred prvou alebo za poslednou položkou v poli, výsledkom vzorca bude chybová hodnota #ODKAZ!.
Riešenie: Skontrolujte, či ste syntax zostavili správne. Tu je príklad dobre zostaveného vzorca, v ktorom je funkcia IF vnorená do ďalšej funkcie IF s cieľom vypočítať zrážky na základe výšky príjmu.
=IF(E2<31500;E2*15%;IF(E2<72500;E2*25%;E2*28%))
Najjednoduchšie vysvetlenie funkcie IF – AK (je hodnota v bunke A5 nižšia ako 31 500, vynásob túto hodnotu 15 %. AK ale nižšia nie je, zisti, či je hodnota nižšia ako 72 500. AK je nižšia, vynásob ju 25 %, v opačnom prípade ju vynásob 28 %).
Ak chcete použiť funkciu IFERROR s existujúcim vzorcom, vzorec môžete do funkcie IFERROR jednoducho vložiť:
=IFERROR(IF(E2<31500;E2*15%;IF(E2<72500;E2*25%;E2*28%));0)
Čo jednoducho znamená, že AK niektorá časť pôvodného vzorca sa vyhodnotí ako chyba, potom zobrazí hodnotu 0, v opačnom prípade vráti výsledok príkazu IF. Niektorí ľudia píšu vzorce, aby sa spustilo spracovanie chýb, nie je to však dobrý postup, pretože obsluha chýb potlačí potenciálne chyby, takže nemusíte nevyhnutne vedieť, či vzorec funguje správne alebo nie. Ak potrebujete pridať spracovanie chýb, najlepšie je pridať ho, keď budete mať istotu, že vzorec funguje správne.
Poznámka: Hodnoty vyhodnotenia vzorcov neobsahujú bodkočiarky. Ak ich pridáte, funkcia IF sa ich pokúsi použiť ako argumenty a Excelu sa to nebude páčiť. Na druhej strane, násobky percentuálnych hodnôt obsahujú symbol %. Vďaka tomu Excel vie, že ide o percentuálne hodnoty. V opačnom prípade by ste ich museli zadať ako skutočné percentuálne hodnoty, napríklad E2*0,25.
Potrebujete ďalšiu pomoc?
Vždy sa môžete opýtať odborníka v komunite Excel Tech Community alebo získať podporu v komunitách.
Pozrite tiež
Odstránenie chyby #HODNOTA! (chyba)
Funkcia IFS (Microsoft 365 alebo Excel 2016 alebo novšia verzia)
Funkcia IF – vnorené vzorce a ako sa vyhnúť nástrahám
Zabránenie vzniku nefunkčných vzorcov