Jak používat IFERROR v aplikaci Excel s příklady vzorců

  • Sdílet Toto
Michael Brown

Výukový program ukazuje, jak v Excelu používat funkci IFERROR k zachycení chyb a jejich nahrazení prázdnou buňkou, jinou hodnotou nebo vlastní zprávou. Dozvíte se, jak funkci IFERROR používat s funkcemi Vlookup a Index Match a jak ji porovnat s funkcemi IF ISERROR a IFNA.

"Dejte mi místo, kde budu stát, a pohnu zemí," řekl kdysi Archimédes. "Dejte mi vzorec, a donutím ho vrátit chybu," řekl by uživatel Excelu. V tomto kurzu se nebudeme zabývat tím, jak v Excelu vracet chyby, ale spíše se naučíme, jak jim předcházet, aby vaše pracovní listy byly čisté a vzorce přehledné.

    Funkce IFERROR aplikace Excel - syntaxe a základní použití

    Funkce IFERROR v aplikaci Excel je určena k zachycení a řešení chyb ve vzorcích a výpočtech. Konkrétně funkce IFERROR kontroluje vzorec, a pokud vyhodnotí chybu, vrátí jinou zadanou hodnotu; v opačném případě vrátí výsledek vzorce.

    Syntaxe funkce IFERROR aplikace Excel je následující:

    IFERROR(value, value_if_error)

    Kde:

    • Hodnota (povinné) - co se má zkontrolovat na chyby. Může to být vzorec, výraz, hodnota nebo odkaz na buňku.
    • Value_if_error (povinné) - co se má vrátit v případě nalezení chyby. Může to být prázdný řetězec (prázdná buňka), textová zpráva, číselná hodnota, jiný vzorec nebo výpočet.

    Například při dělení dvou sloupců čísel může dojít k řadě různých chyb, pokud jeden ze sloupců obsahuje prázdné buňky, nuly nebo text.

    Abyste tomu zabránili, použijte funkci IFERROR, která zachytí a ošetří chyby tak, jak chcete.

    Pokud je chyba, pak prázdný

    Zadejte prázdný řetězec (") do příkazu value_if_error vrátit prázdnou buňku, pokud je nalezena chyba:

    =IFERROR(A2/B2, "")

    Pokud dojde k chybě, zobrazte zprávu

    Místo standardního zápisu chyb aplikace Excel můžete také zobrazit vlastní zprávu:

    =IFERROR(A2/B2, "Chyba ve výpočtu")

    5 věcí, které byste měli vědět o funkci IFERROR aplikace Excel

    1. Funkce IFERROR v aplikaci Excel zpracovává všechny typy chyb včetně #DIV/0!, #N/A, #NAME?, #NULL!, #NUM!, #REF! a #VALUE!.
    2. V závislosti na obsahu value_if_error argumentu, může IFERROR nahradit chyby vlastní textovou zprávou, číslem, datem nebo logickou hodnotou, výsledkem jiného vzorce nebo prázdným řetězcem (prázdnou buňkou).
    3. Pokud hodnota je prázdná buňka, je považována za prázdný řetězec ('''), ale ne za chybu.
    4. Funkce IFERROR byla zavedena v aplikaci Excel 2007 a je k dispozici ve všech následujících verzích aplikací Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021 a Excel 365.
    5. Pro zachycení chyb v aplikaci Excel 2003 a starších verzích použijte funkci ISERROR v kombinaci s IF, jak je uvedeno v tomto příkladu.

    Příklady vzorců IFERROR

    Následující příklady ukazují, jak v aplikaci Excel použít funkci IFERROR v kombinaci s dalšími funkcemi k provádění složitějších úloh.

    Excel IFERROR s Vlookup

    Jedním z nejčastějších použití funkce IFERROR je informování uživatelů, že hledaná hodnota v souboru dat neexistuje. Pro tento účel obalíte vzorec VLOOKUP funkcí IFERROR takto:

    IFERROR(VLOOKUP( ... ), "Nenalezeno")

    Pokud se hodnota vyhledávání nenachází v tabulce, kterou hledáte, běžný vzorec Vlookup by vrátil chybu #N/A:

    Pro klid uživatelů zabalte VLOOKUP do IFERROR a zobrazte informativnější a uživatelsky přívětivější zprávu:

    =IFERROR(VLOOKUP(A2, 'Lookup table'!$A$2:$B$4, 2,FALSE), "Not found")

    Níže uvedený obrázek ukazuje tento vzorec Iferror v aplikaci Excel:

    Pokud chcete zachytit pouze chyby #N/A, ale ne všechny chyby, použijte místo funkce IFERROR funkci IFNA.

    Další příklady vzorce IFERROR VLOOKUP v aplikaci Excel naleznete v těchto výukových materiálech:

    • Iferror s Vlookup pro zachycení a zpracování chyb
    • Jak získat N-tý výskyt hodnoty vyhledávání
    • Jak získat všechny výskyty hodnoty vyhledávání

    Vnořené funkce IFERROR pro provádění sekvenčních vyhledávání v aplikaci Excel

    V situacích, kdy potřebujete provést více Vlookupů na základě toho, zda předchozí Vlookup uspěl nebo ne, můžete do sebe vnořit dvě nebo více funkcí IFERROR.

    Předpokládejme, že máte řadu výkazů o prodeji z regionálních poboček vaší společnosti a chcete získat částku pro určité ID objednávky. S hodnotou A2 jako vyhledávací hodnotou v aktuálním listu a A2:B5 jako vyhledávacím rozsahem ve 3 vyhledávacích listech (Výkaz 1, Výkaz 2 a Výkaz 3) vypadá 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), "nenalezeno")))

    Výsledek bude vypadat podobně:

    Podrobné vysvětlení logiky vzorce naleznete v části Jak provádět sekvenční procházení v aplikaci Excel.

    IFERROR ve vzorcích pole

    Jak pravděpodobně víte, vzorce pole v aplikaci Excel jsou určeny k provádění více výpočtů v rámci jednoho vzorce. Pokud zadáte vzorec pole nebo výraz, jehož výsledkem je pole ve tvaru hodnota argumentu funkce IFERROR, vrátí pole hodnot pro každou buňku v zadaném rozsahu. Níže uvedený příklad ukazuje podrobnosti.

    Řekněme, že máte Celkem ve sloupci B a Cena ve sloupci C a chcete vypočítat Celkové množství . To lze provést pomocí následujícího postupu vzorec pole, která vydělí každou buňku rozsahu B2:B4 odpovídající buňkou rozsahu C2:C4 a poté výsledky sečte:

    =SOUČET($B$2:$B$4/$C$2:$C$4)

    Vzorec funguje správně, pokud rozsah dělitelů neobsahuje nuly nebo prázdné buňky. Pokud je v něm alespoň jedna hodnota 0 nebo prázdná buňka, vrátí se chyba #DIV/0!:

    Chcete-li tuto chybu opravit, jednoduše proveďte dělení ve funkci IFERROR:

    =SOUČET(IFERROR($B$2:$B$4/$C$2:$C$4,0))

    Vzorec dělí hodnotu ve sloupci B hodnotou ve sloupci C v každém řádku (100/2, 200/5 a 0/0) a vrací pole výsledků {50; 40; #DIV/0!}. Funkce IFERROR zachytí všechny chyby #DIV/0! a nahradí je nulami. A pak funkce SUM sečte hodnoty ve výsledném poli {50; 40; 0} a vypíše konečný výsledek (50+40=90).

    Poznámka: Nezapomeňte, že vzorce pole by měly být dokončeny stisknutím klávesové zkratky Ctrl + Shift + Enter.

    IFERROR vs. IF ISERROR

    Nyní, když už víte, jak snadné je používat funkci IFERROR v Excelu, se možná divíte, proč se někteří lidé stále přiklánějí k používání kombinace IF ISERROR. Má to nějaké výhody oproti IFERROR? Žádné. Ve starých špatných časech Excelu 2003 a nižších, kdy IFERROR neexistovala, byla IF ISERROR jediným možným způsobem, jak zachytit chyby. V Excelu 2007 a novějších verzích je to jen trochu složitější způsob, jakdosáhnout stejného výsledku.

    Chcete-li například zachytit chyby Vlookup, můžete použít některý z níže uvedených vzorců.

    V aplikaci Excel 2007 - Excel 2016:

    IFERROR(VLOOKUP( ... ), "Nenalezeno")

    Ve všech verzích aplikace Excel:

    IF(ISERROR(VLOOKUP(...)), "Nenalezeno", VLOOKUP(...))

    Všimněte si, že ve vzorci IF ISERROR VLOOKUP musíte Vlookup provést dvakrát. V jednoduché angličtině lze vzorec přečíst takto: Pokud Vlookup skončí chybou, vraťte "Not found", jinak vypište výsledek Vlookup.

    A zde je skutečný příklad vzorce If Iserror Vlookup aplikace Excel:

    =IF(ISERROR(VLOOKUP(D2, A2:B5,2,FALSE)), "Nenalezeno", VLOOKUP(D2, A2:B5,2,FALSE ))

    Další informace naleznete v části Použití funkce ISERROR v aplikaci Excel.

    IFERROR vs. IFNA

    Funkce IFNA, která byla zavedena v aplikaci Excel 2013, je další funkcí pro kontrolu vzorce na přítomnost chyb. Její syntaxe je podobná syntaxi funkce IFERROR:

    IFNA(hodnota, hodnota_if_na)

    V čem se funkce IFNA liší od funkce IFERROR? Funkce IFNA zachytí pouze chyby #N/A zatímco IFERROR zpracovává všechny typy chyb.

    V jakých situacích můžete chtít použít IFNA? Když není rozumné skrývat všechny chyby. Například při práci s důležitými nebo citlivými daty můžete chtít být upozorněni na možné chyby v souboru dat a standardní chybové zprávy aplikace Excel se symbolem "#" mohou být názornými vizuálními ukazateli.

    Podívejme se, jak můžete vytvořit vzorec, který zobrazí zprávu "Nenalezeno" místo chyby N/A, která se zobrazí, když se hodnota vyhledávání v souboru dat nenachází, ale upozorní vás na jiné chyby aplikace Excel.

    Předpokládejme, že chcete vytáhnout Qty. z vyhledávací tabulky do souhrnné tabulky, jak je znázorněno na obrázku níže. Použití vzorce Excel Iferror Vlookup by vedlo k esteticky příjemnému výsledku, který je však technicky nesprávný, protože Citrony existují ve vyhledávací tabulce:

    Chcete-li zachytit chybu #N/A, ale zobrazit chybu #DIV/0, použijte v aplikaci Excel 2013 a Excel 2016 funkci IFNA:

    =IFNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE), "Nenalezeno")

    Nebo kombinace IF ISNA v aplikaci Excel 2010 a starších verzích:

    =IF(ISNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE)), "Nenalezeno", VLOOKUP(F3,$A$3:$D$6,4,FALSE))

    Syntaxe vzorců IFNA VLOOKUP a IF ISNA VLOOKUP je podobná syntaxi vzorců IFERROR VLOOKUP a IF ISERROR VLOOKUP, o kterých jsme hovořili dříve.

    Jak ukazuje obrázek níže, vzorec Ifna Vlookup vrací "Nenalezeno" pouze pro položku, která není přítomna v tabulce vyhledávání ( Peaches ). Citrony , zobrazí se #DIV/0!, což znamená, že naše vyhledávací tabulka obsahuje chybu dělení nulou:

    Další podrobnosti naleznete v části Použití funkce IFNA v aplikaci Excel.

    Osvědčené postupy pro použití IFERROR v aplikaci Excel

    Nyní již víte, že funkce IFERROR je nejjednodušší způsob, jak v Excelu zachytit chyby a zamaskovat je prázdnými buňkami, nulovými hodnotami nebo vlastními hlášeními. To však neznamená, že byste měli každý vzorec obalit ošetřením chyb. Následující jednoduchá doporučení vám mohou pomoci zachovat rovnováhu.

    1. Nezachycujte chyby bezdůvodně.
    2. Zabalte nejmenší možnou část vzorce do IFERROR.
    3. Chcete-li zpracovávat pouze konkrétní chyby, použijte funkci pro zpracování chyb s menším rozsahem:
      • IFNA nebo IF ISNA pro zachycení pouze chyb #N/A.
      • ISERR pro zachycení všech chyb kromě #N/A.

    Takto se v Excelu používá funkce IFERROR k zachycení a ošetření chyb. Chcete-li se blíže seznámit se vzorci probíranými v tomto tutoriálu, můžete si stáhnout náš ukázkový sešit Excelu IFERROR. Děkuji vám za přečtení a doufám, že se příští týden uvidíme na našem blogu.

    Michael Brown je oddaný technologický nadšenec s vášní pro zjednodušování složitých procesů pomocí softwarových nástrojů. S více než desetiletými zkušenostmi v technologickém průmyslu zdokonalil své dovednosti v aplikacích Microsoft Excel a Outlook a také v Tabulkách a Dokumentech Google. Michaelův blog je věnován sdílení jeho znalostí a odborných znalostí s ostatními a poskytuje snadno pochopitelné tipy a návody pro zlepšení produktivity a efektivity. Ať už jste zkušený profesionál nebo začátečník, Michaelův blog nabízí cenné postřehy a praktické rady, jak tyto základní softwarové nástroje co nejlépe využít.