Jak používat funkci IFNA v aplikaci Excel s příklady

  • Sdílet Toto
Michael Brown

Máte v pracovních listech mnoho chyb #N/A a zajímá vás, zda existuje způsob, jak místo nich zobrazit vlastní text? Řešením, které potřebujete, je vzorec IFNA.

Když vzorec aplikace Excel nemůže něco identifikovat nebo najít, vyhodí chybu #N/A. Chcete-li takovou chybu zachytit a nahradit ji uživatelsky přívětivou zprávou, můžete použít funkci IFNA. Jinými slovy, #N/A je způsob, jakým aplikace Excel říká, že hledaná hodnota se v odkazovaném souboru dat nenachází. IFNA je váš způsob, jak tuto chybu zachytit a zpracovat.

    Funkce IFNA v aplikaci Excel

    Funkce IFNA aplikace Excel slouží k zachycení a zpracování chyb #N/A. Pokud vzorec vyhodnotí hodnotu #N/A, IFNA tuto chybu zachytí a nahradí ji vlastní hodnotou, kterou zadáte; v opačném případě vrátí normální výsledek vzorce.

    Syntaxe IFNA

    Syntaxe funkce IFNA je následující:

    IFNA(hodnota, hodnota_if_na)

    Kde:

    Hodnota (povinné) - vzorec, hodnota nebo odkaz pro kontrolu chyby #N/A.

    Value_if_na (povinné) - hodnota, která se vrátí, pokud je zjištěna chyba #N/A.

    Poznámky k použití

    • Funkce IFNA zpracovává pouze #N/A bez potlačení jiných chyb.
    • Pokud hodnota je argument vzorec pole , IFNA vrátí pole výsledků, jeden pro každou buňku, jak je znázorněno v tomto příkladu.

    Dostupnost IFNA

    Funkce IFNA byla zavedena v aplikaci Excel 2013 a je k dispozici ve všech následujících verzích včetně aplikací Excel 2016, Excel 2019, Excel 2021 a Microsoft 365.

    V dřívějších verzích lze chyby #N/A zachytit pomocí funkcí IF a ISNA společně.

    Jak používat funkci IFNA v aplikaci Excel

    Chcete-li efektivně používat IFNA v aplikaci Excel, postupujte podle tohoto obecného postupu:

    1. V prvním argumentu ( hodnota ), vložte vzorec ovlivněný chybou #N/A.
    2. V druhém argumentu ( value_if_na ), zadejte text, který chcete vrátit, místo standardního zápisu chyby. Chcete-li vrátit prázdnou buňku, když není nic nalezeno, zadejte prázdný řetězec (""").

    Vrátit se vlastní text , obecný vzorec je:

    IFNA( vzorec (), " vlastní text ")

    Vrácení prázdná buňka , obecný vzorec je:

    IFNA( vzorec (), "")

    Podívejme se, jak to funguje na jednoduchém příkladu. Předpokládejme, že v následující tabulce chcete zjistit, jak se skóre daného studenta řadí mezi ostatní. Protože data jsou seřazena podle Skóre sloupce od nejvyššího po nejnižší, bude pořadí odpovídat relativní pozici studenta v tabulce. A pro získání pozice můžete použít funkci MATCH v její nejjednodušší podobě:

    =MATCH(E1, A2:A10, 0)

    Protože hodnota vyhledávání (Neal) není v poli vyhledávání (A2:A10) k dispozici, dojde k chybě #N/A.

    Narazíte-li na tuto chybu, nezkušení uživatelé si mohou myslet, že je se vzorcem něco v nepořádku, a vy jako tvůrce sešitu budete dostávat spoustu dotazů. Abyste se tomu vyhnuli, můžete explicitně uvést, že vzorec je správný, jen nemůže najít hodnotu, kterou má hledat. V prvním argumentu IFNA tedy vnoříte vzorec MATCH a do druhého argumentu zadáte svůj vlastní vzorec.text, v našem případě "Nenalezeno":

    =IFNA(MATCH(E1, A2:A10, 0), "Nenalezeno")

    Místo standardního zápisu chyby se nyní v buňce zobrazí váš vlastní text, který uživatele informuje, že hodnota vyhledávání se v datovém souboru nenachází:

    Jak používat IFNA s VLOOKUP

    Nejčastěji se chyba #N/A vyskytuje ve funkcích, které něco hledají, například VLOOKUP, HLOOKUP, LOOKUP a MATCH. Níže uvedené příklady zahrnují několik typických případů použití.

    Příklad 1. Základní vzorec IFNA VLOOKUP

    Chcete-li zachytit chyby #N/A, ke kterým dochází, když funkce VLOOKUP nemůže najít shodu, zkontrolujte její výsledek pomocí funkce IFNA a zadejte hodnotu, která se má zobrazit místo chyby. Běžnou praxí je obalit funkci IFNA kolem stávajícího vzorce VLOOKUP pomocí této syntaxe:

    IFNA(VLOOKUP(), " váš text ")

    Předpokládejme, že v naší ukázkové tabulce chcete získat skóre konkrétního studenta (E1). K tomu použijete tento klasický vzorec VLOOKUP:

    =VLOOKUP(E1, A2:B10, 2, FALSE)

    Problém je v tom, že Neal se zkoušky nezúčastnil, a proto jeho jméno v seznamu není, a VLOOKUP zjevně nenajde shodu.

    Abychom chybu skryli, zabalíme VLOOKUP do IFNA takto:

    =IFNA(VLOOKUP(E1, A2:B10, 2, FALSE), "Neúčastnil se zkoušky")

    Výsledek nyní nevypadá pro uživatele tak hrozivě a je mnohem informativnější:

    Příklad 2. IFNA VLOOKUP pro vyhledávání na více listech

    Funkce IFNA se hodí také při provádění tzv. sekvenční nebo zřetězené vyhledávání na více listech nebo v různých sešitech. Jde o to, že tímto způsobem vložíte několik různých vzorců IFNA(VLOOKUP(...)) jeden do druhého:

    IFNA(VLOOKUP(...), IFNA(VLOOKUP(...), IFNA(VLOOKUP(...), "Nenalezeno")))

    Pokud primární VLOOKUP nic nenajde, spustí jeho funkce IFNA další VLOOKUP, dokud nenajde požadovanou hodnotu. Pokud všechna vyhledávání selžou, vzorec vrátí zadaný text.

    Předpokládejme, že máte výsledky různých tříd uvedené na různých listech (pojmenovaných Třída A , Třída B a Třída C ). Vaším cílem je získat skóre konkrétního žáka, jehož jméno je zadáno v buňce B1 v aktuálním pracovním listu. Ke splnění úkolu využijte tento vzorec:

    =IFNA(VLOOKUP(B1, "Třída A"!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, "Třída B"!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, "Třída C"!A2:B5, 2, FALSE), "Nenalezeno")))

    Vzorec postupně vyhledá zadaný název ve třech různých listech v pořadí, v jakém jsou vnořeny VLOOKUP, a přinese první nalezenou shodu:

    Příklad 3. IFNA s INDEX MATCH

    Podobným způsobem může IFNA zachytit chyby #N/A generované jinými vyhledávacími funkcemi. Jako příklad ji použijme společně se vzorcem INDEX MATCH:

    =IFNA(INDEX(B2:B10, MATCH(E1, A2:A10, 0)), "Nenalezeno")

    Podstata vzorce je stejná jako ve všech předchozích příkladech - INDEX MATCH provede vyhledávání a IFNA vyhodnotí výsledek a v případě nenalezení odkazované hodnoty vyhodnotí chybu #N/A.

    IFNA vrátí více výsledků

    V případě, že vnitřní funkce (tj. vzorec umístěný v položce hodnota argument) vrátí více hodnot, IFNA otestuje každou vrácenou hodnotu zvlášť a vypíše pole výsledků. Například:

    =IFNA(VLOOKUP(D2:D4, A2:B10, 2, FALSE), "Nenalezeno")

    V aplikaci Excel s dynamickým polem (Microsoft 365 a Excel 2021) se běžný vzorec v nejvyšší buňce (E2) automaticky přelije do všech sousedních buněk (v aplikaci Excel se tomu říká přelévací rozsah).

    V předdynamických verzích (Excel 2019 a nižší) lze podobného efektu dosáhnout pomocí vzorce s více buňkami pole, který se doplní klávesovou zkratkou Ctrl + Shift + Enter.

    Jaký je rozdíl mezi IFNA a IFERROR?

    V závislosti na příčině problému může vzorec Excelu vyvolat různé chyby, například #N/A, #NAME, #VALUE, #REF, #DIV/0, #NUM a další. Funkce IFERROR zachytí všechny tyto chyby, zatímco IFNA se omezuje pouze na #N/A. Kterou z nich je lepší zvolit? To závisí na situaci.

    Pokud chcete potlačit jakýkoli druh chyby , pak použijte funkci IFERROR. Je užitečná zejména při složitých výpočtech, kdy vzorec obsahuje několik funkcí, které mohou generovat různé chyby.

    S vyhledávací funkce , raději použijte IFNA, protože zobrazuje vlastní výsledek pouze v případě, že není nalezena hodnota vyhledávání, a neskrývá základní problémy se samotným vzorcem.

    Pro ilustraci rozdílu si připomeňme náš základní vzorec IFNA VLOOKUP a "omylem" špatně napišme název funkce (VLOKUP místo VLOOKUP).

    =IFNA(VLOKUP(E1, A2:B10, 2, FALSE), "Neúčastnil se zkoušky")

    IFNA tuto chybu nepotlačuje, takže je jasně vidět, že s některým z názvů funkcí není něco v pořádku:

    Nyní se podíváme, co se stane, když použijete IFERROR:

    =IFERROR(VLOKUP(E1, A2:B10, 2, FALSE), "Nevykonal zkoušku")

    Hmm... píše, že Olivia se zkoušky nezúčastnila, což není pravda! Je to proto, že funkce IFERROR zachytí chybu #NAME? a místo ní vrátí vlastní text. V této situaci nejenže vrátí nesprávnou informaci, ale také zamlží problém se vzorcem.

    To je návod, jak použít vzorec IFNA v Excelu. Děkuji vám za přečtení a těším se na vás na našem blogu příští týden!

    Dostupné soubory ke stažení

    Příklady vzorců aplikace Excel IFNA (.xlsx soubor)

    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.