Obsah
Učebnica ukazuje, ako používať funkciu IFERROR v programe Excel na zachytenie chýb a ich nahradenie prázdnou bunkou, inou hodnotou alebo vlastnou správou. Dozviete sa, ako používať funkciu IFERROR s funkciami Vlookup a Index Match a ako ju porovnať s funkciami IF ISERROR a IFNA.
"Dajte mi miesto, kde mám stáť, a pohnem zemou," povedal kedysi Archimedes. "Dajte mi vzorec, a prinútim ho vrátiť chybu," povedal by používateľ programu Excel. V tomto učebnom texte sa nebudeme zaoberať tým, ako vracať chyby v programe Excel, radšej sa naučíme, ako im predchádzať, aby ste si zachovali čisté pracovné hárky a prehľadné vzorce.
Funkcia IFERROR programu Excel - syntax a základné použitie
Funkcia IFERROR v programe Excel je určená na zachytávanie a správu chýb vo vzorcoch a výpočtoch. Konkrétne funkcia IFERROR kontroluje vzorec, a ak vyhodnotí chybu, vráti inú zadanú hodnotu; v opačnom prípade vráti výsledok vzorca.
Syntax funkcie IFERROR programu Excel je nasledujúca:
IFERROR(value, value_if_error)Kde:
- Hodnota (povinné) - čo sa má skontrolovať na chyby. Môže to byť vzorec, výraz, hodnota alebo odkaz na bunku.
- Value_if_error (povinné) - čo sa má vrátiť v prípade zistenia chyby. Môže to byť prázdny reťazec (prázdna bunka), textová správa, číselná hodnota, iný vzorec alebo výpočet.
Napríklad pri delení dvoch stĺpcov s číslami sa môže vyskytnúť niekoľko rôznych chýb, ak jeden zo stĺpcov obsahuje prázdne bunky, nuly alebo text.
Aby ste tomu zabránili, použite funkciu IFERROR na zachytenie a spracovanie chýb požadovaným spôsobom.
Ak je chyba, potom prázdne
Zadajte prázdny reťazec (") do príkazu value_if_error argument na vrátenie prázdnej bunky v prípade zistenia chyby:
=IFERROR(A2/B2, "")
Ak sa vyskytne chyba, zobrazte správu
Namiesto štandardného zápisu chyby programu Excel môžete zobraziť aj vlastnú správu:
=IFERROR(A2/B2, "Chyba vo výpočte")
5 vecí, ktoré by ste mali vedieť o funkcii IFERROR aplikácie Excel
- Funkcia IFERROR v programe Excel spracováva všetky typy chýb vrátane #DIV/0!, #N/A, #NAME?, #NULL!, #NUM!, #REF! a #VALUE!.
- V závislosti od obsahu value_if_error argument, IFERROR môže nahradiť chyby vlastnou textovou správou, číslom, dátumom alebo logickou hodnotou, výsledkom iného vzorca alebo prázdnym reťazcom (prázdnou bunkou).
- Ak sa hodnota je prázdna bunka, považuje sa za prázdny reťazec ('''), ale nie za chybu.
- Funkcia IFERROR bola zavedená v programe Excel 2007 a je k dispozícii vo všetkých nasledujúcich verziách programov Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021 a Excel 365.
- Ak chcete zachytiť chyby v programe Excel 2003 a starších verziách, použite funkciu ISERROR v kombinácii s IF, ako je uvedené v tomto príklade.
Príklady vzorcov IFERROR
Nasledujúce príklady ukazujú, ako používať IFERROR v programe Excel v kombinácii s inými funkciami na vykonávanie zložitejších úloh.
Excel IFERROR s Vlookup
Jedným z najčastejších použití funkcie IFERROR je informovanie používateľov, že hľadaná hodnota v súbore údajov neexistuje. Na tento účel obalíte vzorec VLOOKUP do funkcie IFERROR takto:
IFERROR(VLOOKUP( ... ), "Nenájdené")Ak sa hodnota vyhľadávania nenachádza v tabuľke, ktorú hľadáte, bežný vzorec Vlookup by vrátil chybu #N/A:
Pre pokoj používateľov zabaľte VLOOKUP do IFERROR a zobrazte informatívnejšiu a používateľsky prívetivejšiu správu:
=IFERROR(VLOOKUP(A2, 'Lookup table'!$A$2:$B$4, 2,FALSE), "Not found")
Na nasledujúcej snímke je zobrazený tento vzorec Iferror v programe Excel:
Ak chcete zachytiť len chyby #N/A, ale nie všetky chyby, použite namiesto funkcie IFERROR funkciu IFNA.
Ďalšie príklady vzorca IFERROR VLOOKUP v programe Excel nájdete v týchto návodoch:
- Iferror s funkciou Vlookup na zachytenie a spracovanie chýb
- Ako získať N-ty výskyt hodnoty vyhľadávania
- Ako získať všetky výskyty hodnoty vyhľadávania
Vnorené funkcie IFERROR na vykonávanie sekvenčných prehľadávaní v programe Excel
V situáciách, keď potrebujete vykonať viacero prehľadávaní na základe toho, či predchádzajúce prehľadávanie bolo úspešné alebo neúspešné, môžete vložiť dve alebo viac funkcií IFERROR jednu do druhej.
Predpokladajme, že máte niekoľko prehľadov o predaji z regionálnych pobočiek vašej spoločnosti a chcete získať sumu pre určité ID objednávky. S hodnotou A2 ako vyhľadávacou hodnotou v aktuálnom hárku a A2:B5 ako rozsahom vyhľadávania v 3 vyhľadávacích hárkoch (prehľad 1, prehľad 2 a prehľad 3) vyzerá vzorec takto:
=IFERROR(VLOOKUP(A2,'Report 1'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Report 2'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Report 3'!A2:B5,2,0), "not found"))
Výsledok bude vyzerať podobne:
Podrobné vysvetlenie logiky vzorca nájdete v časti Ako robiť postupné Vlookupy v programe Excel.
IFERROR vo vzorcoch polí
Ako pravdepodobne viete, vzorce poľa v programe Excel sú určené na vykonávanie viacerých výpočtov v rámci jedného vzorca. Ak zadáte vzorec poľa alebo výraz, ktorého výsledkom je pole v hodnota argument funkcie IFERROR, vráti sa pole hodnôt pre každú bunku v zadanom rozsahu. Nižšie uvedený príklad ukazuje podrobnosti.
Povedzme, že máte Celkom v stĺpci B a Cena v stĺpci C a chcete vypočítať Celkové množstvo To je možné vykonať pomocou nasledujúcich pokynov vzorec poľa, ktorá vydelí každú bunku rozsahu B2:B4 príslušnou bunkou rozsahu C2:C4 a potom výsledky sčíta:
=SUM($B$2:$B$4/$C$2:$C$4)
Vzorec funguje správne, pokiaľ rozsah deliteľa neobsahuje nuly alebo prázdne bunky. Ak sa v ňom nachádza aspoň jedna hodnota 0 alebo prázdna bunka, vráti sa chyba #DIV/0!
Ak chcete túto chybu opraviť, jednoducho vykonajte delenie vo funkcii IFERROR:
=SUM(IFERROR($B$2:$B$4/$C$2:$C$4,0))
Vzorec vydelí hodnotu v stĺpci B hodnotou v stĺpci C v každom riadku (100/2, 200/5 a 0/0) a vráti pole výsledkov {50; 40; #DIV/0!}. Funkcia IFERROR zachytí všetky chyby #DIV/0! a nahradí ich nulami. A potom funkcia SUM sčíta hodnoty vo výslednom poli {50; 40; 0} a vypíše konečný výsledok (50+40=90).
Poznámka: Nezabudnite, že vzorce polí by sa mali dokončovať stlačením klávesovej skratky Ctrl + Shift + Enter.
IFERROR vs. IF ISERROR
Teraz, keď už viete, aké jednoduché je používať funkciu IFERROR v programe Excel, sa možno čudujete, prečo sa niektorí ľudia stále prikláňajú k používaniu kombinácie IF ISERROR. Má to nejaké výhody v porovnaní s IFERROR? Žiadne. V starých zlých časoch programu Excel 2003 a nižších, keď IFERROR neexistoval, bol IF ISERROR jediným možným spôsobom zachytávania chýb. V programe Excel 2007 a novších je to len trochu zložitejší spôsobdosiahnuť rovnaký výsledok.
Napríklad na zachytenie chýb Vlookup môžete použiť niektorý z nasledujúcich vzorcov.
V programe Excel 2007 - Excel 2016:
IFERROR(VLOOKUP( ... ), "Nenájdené")Vo všetkých verziách programu Excel:
IF(ISERROR(VLOOKUP(...)), "Not found", VLOOKUP(...))Všimnite si, že vo vzorci IF ISERROR VLOOKUP musíte Vlookup použiť dvakrát. V jednoduchej angličtine sa vzorec dá prečítať takto: Ak Vlookup vedie k chybe, vráťte "Not found", inak vypíšte výsledok Vlookup.
A tu je skutočný príklad vzorca Vlookup aplikácie Excel If Iserror:
=IF(ISERROR(VLOOKUP(D2, A2:B5,2,FALSE)), "Nenájdené", VLOOKUP(D2, A2:B5,2,FALSE ))
Ďalšie informácie nájdete v časti Používanie funkcie ISERROR v programe Excel.
IFERROR vs. IFNA
Funkcia IFNA, zavedená v programe Excel 2013, je ďalšou funkciou na kontrolu vzorca na prítomnosť chýb. Jej syntax je podobná syntaxi funkcie IFERROR:
IFNA(hodnota, value_if_na)V čom sa funkcia IFNA líši od funkcie IFERROR? Funkcia IFNA zachytáva len chyby #N/A zatiaľ čo IFERROR spracováva všetky typy chýb.
V ktorých situáciách môžete chcieť použiť IFNA? Keď nie je rozumné zamaskovať všetky chyby. Napríklad pri práci s dôležitými alebo citlivými údajmi môžete chcieť byť upozornení na možné chyby v súbore údajov a štandardné chybové hlásenia programu Excel so symbolom "#" môžu byť názornými vizuálnymi ukazovateľmi.
Pozrime sa, ako môžete vytvoriť vzorec, ktorý zobrazí správu "Nenájdené" namiesto chyby N/A, ktorá sa zobrazí, keď sa hodnota vyhľadávania nenachádza v súbore údajov, ale upozorní vás na iné chyby programu Excel.
Predpokladajme, že chcete vytiahnuť Qty. z vyhľadávacej tabuľky do súhrnnej tabuľky, ako je znázornené na obrázku nižšie. Použitím vzorca Excel Iferror Vlookup by ste dosiahli esteticky príjemný výsledok, ktorý je však technicky nesprávny, pretože Citróny existujú vo vyhľadávacej tabuľke:
Ak chcete zachytiť #N/A, ale zobraziť chybu #DIV/0, použite funkciu IFNA v aplikáciách Excel 2013 a Excel 2016:
=IFNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE), "Nenájdené")
Alebo kombinácia IF ISNA v programe Excel 2010 a starších verziách:
=IF(ISNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE)), "Nenájdené", VLOOKUP(F3,$A$3:$D$6,4,FALSE))
Syntax vzorcov IFNA VLOOKUP a IF ISNA VLOOKUP je podobná syntaxi vzorcov IFERROR VLOOKUP a IF ISERROR VLOOKUP, o ktorých sme hovorili skôr.
Ako je znázornené na nasledujúcom obrázku, vzorec Ifna Vlookup vráti "Nenájdené" len pre položku, ktorá sa nenachádza v tabuľke vyhľadávania ( Broskyne ). Citróny , zobrazí sa #DIV/0!, čo znamená, že naša vyhľadávacia tabuľka obsahuje chybu delenia nulou:
Ďalšie podrobnosti nájdete v časti Používanie funkcie IFNA v programe Excel.
Osvedčené postupy používania IFERROR v programe Excel
Teraz už viete, že funkcia IFERROR je najjednoduchší spôsob, ako zachytiť chyby v programe Excel a zamaskovať ich prázdnymi bunkami, nulovými hodnotami alebo vlastnými správami. To však neznamená, že by ste mali každý vzorec obaliť spracovaním chýb. Nasledujúce jednoduché odporúčania vám môžu pomôcť udržať rovnováhu.
- Nezachytávajte chyby bez dôvodu.
- Zabaliť najmenšiu možnú časť vzorca do IFERROR.
- Ak chcete spracovať len konkrétne chyby, použite funkciu na spracovanie chýb s menším rozsahom:
- IFNA alebo IF ISNA na zachytenie len chýb #N/A.
- ISERR na zachytenie všetkých chýb okrem #N/A.
Takto sa v programe Excel používa funkcia IFERROR na zachytávanie a ošetrovanie chýb. Ak sa chcete bližšie zoznámiť so vzorcami, o ktorých sa hovorí v tomto návode, môžete si stiahnuť náš vzorový zošit programu Excel IFERROR. Ďakujem vám za prečítanie a dúfam, že sa na našom blogu uvidíme budúci týždeň.