Ako používať funkciu IFNA v programe Excel s príkladmi

  • Zdieľajte To
Michael Brown

Dostávate vo svojich pracovných hárkoch veľa chýb #N/A a ste zvedaví, či existuje spôsob, ako namiesto nich zobraziť vlastný text? Riešením, ktoré potrebujete, je vzorec IFNA.

Keď vzorec programu Excel nedokáže niečo identifikovať alebo nájsť, vyhodí chybu #N/A. Ak chcete takúto chybu zachytiť a nahradiť ju používateľsky prívetivou správou, môžete použiť funkciu IFNA. Inými slovami, #N/A je spôsob, akým program Excel hovorí, že hľadaná hodnota sa v odkazovanom súbore údajov nenachádza. IFNA je váš spôsob zachytenia a spracovania tejto chyby.

    Funkcia IFNA v programe Excel

    Funkcia IFNA programu Excel je určená na zachytenie a spracovanie chýb #N/A. Ak sa vzorec vyhodnotí ako #N/A, IFNA zachytí túto chybu a nahradí ju vlastnou hodnotou, ktorú zadáte; v opačnom prípade vráti normálny výsledok vzorca.

    Syntax IFNA

    Syntax funkcie IFNA je nasledujúca:

    IFNA(hodnota, hodnota_if_na)

    Kde:

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

    Value_if_na (povinné) - hodnota, ktorá sa vráti, ak sa zistí chyba #N/A.

    Poznámky k používaniu

    • Funkcia IFNA spracúva iba #N/A bez potlačenia iných chýb.
    • Ak sa hodnota argument je vzorec poľa , IFNA vráti pole výsledkov, jeden na každú bunku, ako je znázornené v tomto príklade.

    Dostupnosť IFNA

    Funkcia IFNA bola zavedená v programe Excel 2013 a je k dispozícii vo všetkých nasledujúcich verziách vrátane programov Excel 2016, Excel 2019, Excel 2021 a Microsoft 365.

    V predchádzajúcich verziách môžete chyby #N/A zachytiť pomocou funkcií IF a ISNA spoločne.

    Ako používať funkciu IFNA v programe Excel

    Ak chcete efektívne používať IFNA v programe Excel, postupujte podľa tohto všeobecného postupu:

    1. V prvom argumente ( hodnota ), vložte vzorec ovplyvnený chybou #N/A.
    2. V druhom argumente ( value_if_na ), zadajte text, ktorý chcete vrátiť namiesto štandardného chybového zápisu. Ak chcete vrátiť prázdnu bunku, keď sa nič nenašlo, zadajte prázdny reťazec (""").

    Vrátiť sa vlastný text , všeobecný vzorec je:

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

    Vrátenie prázdna bunka , všeobecný vzorec je:

    IFNA( vzorec (), "")

    Pozrime sa, ako to funguje na jednoduchom príklade. Predpokladajme, že v nasledujúcej tabuľke chcete vedieť, ako sa hodnotenie daného študenta umiestnilo medzi ostatnými. Keďže údaje sú zoradené podľa Skóre stĺpca od najvyššieho po najnižší, bude hodnosť zodpovedať relatívnej pozícii študenta v tabuľke. A na získanie pozície môžete použiť funkciu MATCH v jej najjednoduchšej podobe:

    =MATCH(E1, A2:A10, 0)

    Keďže hodnota vyhľadávania (Neal) nie je k dispozícii v poli vyhľadávania (A2:A10), vyskytne sa chyba #N/A.

    Ak narazíte na túto chybu, neskúsení používatelia si môžu myslieť, že so vzorcom nie je niečo v poriadku, a vy ako tvorca zošita dostanete veľa otázok. Aby ste sa tomu vyhli, môžete explicitne uviesť, že vzorec je správny, len nedokáže nájsť hodnotu, ktorú má hľadať. Takže v prvom argumente IFNA zahniezdite vzorec MATCH a do druhého argumentu zadajte svoj vlastnýtext, v našom prípade "Nenájdené":

    =IFNA(MATCH(E1, A2:A10, 0), "Nenájdené")

    Namiesto štandardného zápisu chyby sa teraz v bunke zobrazí váš vlastný text, ktorý používateľov informuje, že hodnota vyhľadávania sa v súbore údajov nenachádza:

    Ako používať IFNA s VLOOKUP

    Najčastejšie sa chyba #N/A vyskytuje vo funkciách, ktoré niečo hľadajú, ako napríklad VLOOKUP, HLOOKUP, LOOKUP a MATCH. Nižšie uvedené príklady zahŕňajú niekoľko typických prípadov použitia.

    Príklad 1. Základný vzorec IFNA VLOOKUP

    Ak chcete zachytiť chyby #N/A, ktoré sa vyskytnú, keď funkcia VLOOKUP nedokáže nájsť zhodu, skontrolujte jej výsledok pomocou funkcie IFNA a zadajte hodnotu, ktorá sa má zobraziť namiesto chyby. Bežným postupom je obaliť funkciu IFNA okolo existujúceho vzorca VLOOKUP pomocou tejto syntaxe:

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

    Predpokladajme, že v našej vzorovej tabuľke chcete získať skóre konkrétneho študenta (E1). Na tento účel použijete tento klasický vzorec VLOOKUP:

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

    Problém je v tom, že Neal sa nezúčastnil na skúške, preto jeho meno nie je v zozname a VLOOKUP zjavne nedokáže nájsť zhodu.

    Aby sme chybu skryli, zabalíme VLOOKUP do IFNA takto:

    =IFNA(VLOOKUP(E1, A2:B10, 2, FALSE), "Nevykonal skúšku")

    Teraz už výsledok nevyzerá pre používateľa tak hrozivo a je oveľa informatívnejší:

    Príklad 2. IFNA VLOOKUP na vyhľadávanie vo viacerých hárkoch

    Funkcia IFNA sa hodí aj na vykonávanie tzv. sekvenčné alebo zreťazené Ide o to, že týmto spôsobom vložíte niekoľko rôznych vzorcov IFNA(VLOOKUP(...)) jeden do druhého:

    IFNA(VLOOKUP(...), IFNA(VLOOKUP(...), IFNA(VLOOKUP(...), "Nenájdené"))

    Ak primárny VLOOKUP nič nenájde, jeho funkcia IFNA spustí ďalší VLOOKUP, kým sa nenájde požadovaná hodnota. Ak všetky vyhľadávania zlyhajú, vzorec vráti zadaný text.

    Predpokladajme, že máte skóre rôznych tried uvedené v rôznych hárkoch (s názvom Trieda A , Trieda B a Trieda C ). Vaším cieľom je získať skóre konkrétneho študenta, ktorého meno je zadané v bunke B1 v aktuálnom pracovnom hárku. Na splnenie úlohy použite tento vzorec:

    =IFNA(VLOOKUP(B1, "Trieda A"!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, "Trieda B"!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, "Trieda C"!A2:B5, 2, FALSE), "Nenájdené")))

    Vzorec postupne vyhľadá zadaný názov v troch rôznych hárkoch v poradí, v akom sú vnorené VLOOKUP-y, a prinesie prvú nájdenú zhodu:

    Príklad 3. IFNA s INDEX MATCH

    Podobným spôsobom môže IFNA zachytiť chyby #N/A generované inými vyhľadávacími funkciami. Ako príklad ju použime spolu so vzorcom INDEX MATCH:

    =IFNA(INDEX(B2:B10, MATCH(E1, A2:A10, 0)), "Nenájdené")

    Podstata vzorca je rovnaká ako vo všetkých predchádzajúcich príkladoch - INDEX MATCH vykoná vyhľadávanie a IFNA vyhodnotí výsledok a v prípade, že sa odkazovaná hodnota nenájde, vyhodnotí chybu #N/A.

    IFNA na vrátenie viacerých výsledkov

    V prípade, že vnútorná funkcia (t. j. vzorec umiestnený v hodnota argument) vráti viacero hodnôt, IFNA otestuje každú vrátenú hodnotu jednotlivo a vypíše pole výsledkov:

    =IFNA(VLOOKUP(D2:D4, A2:B10, 2, FALSE), "Nenájdené")

    V programe Excel s dynamickým poľom (Microsoft 365 a Excel 2021) sa bežný vzorec v najvrchnejšej bunke (E2) automaticky rozleje do všetkých susedných buniek (v programe Excel sa to nazýva rozsah rozlievania).

    V preddynamických verziách (Excel 2019 a nižšie) možno podobný efekt dosiahnuť pomocou vzorca s viacbunkovým poľom, ktorý sa dopĺňa klávesovou skratkou Ctrl + Shift + Enter.

    Aký je rozdiel medzi IFNA a IFERROR?

    V závislosti od hlavnej príčiny problému môže vzorec Excelu vyvolať rôzne chyby, ako napríklad #N/A, #NAME, #VALUE, #REF, #DIV/0, #NUM a iné. Funkcia IFERROR zachytí všetky tieto chyby, zatiaľ čo IFNA sa obmedzuje len na #N/A. Ktorú z nich je lepšie zvoliť? To závisí od situácie.

    Ak chcete potlačiť akýkoľvek druh chyby , potom použite funkciu IFERROR. Je užitočná najmä pri zložitých výpočtoch, keď vzorec obsahuje niekoľko funkcií, ktoré môžu generovať rôzne chyby.

    S vyhľadávacie funkcie , radšej použite IFNA, pretože zobrazuje vlastný výsledok len vtedy, keď sa hodnota vyhľadávania nenašla, a neskrýva základné problémy so samotným vzorcom.

    Na ilustráciu rozdielu si pripomeňme náš základný vzorec IFNA VLOOKUP a "omylom" nesprávne napíšeme názov funkcie (VLOKUP namiesto VLOOKUP).

    =IFNA(VLOKUP(E1, A2:B10, 2, FALSE), "Nevykonal skúšku")

    IFNA túto chybu nepotláča, takže jasne vidíte, že niečo nie je v poriadku s jedným z názvov funkcií:

    Teraz sa pozrieme, čo sa stane, ak použijete IFERROR:

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

    Hmm... píše, že Olivia sa nezúčastnila na skúške, čo nie je pravda! Je to preto, že funkcia IFERROR zachytí chybu #NAME? a namiesto nej vráti vlastný text. V tejto situácii nielenže vráti nesprávnu informáciu, ale aj zakryje problém so vzorcom.

    Takto sa používa vzorec IFNA v programe Excel. Ďakujem vám za prečítanie a teším sa na vás na našom blogu budúci týždeň!

    Dostupné súbory na stiahnutie

    Príklady vzorcov programu Excel IFNA (.xlsx súbor)

    Michael Brown je nadšený technologický nadšenec s vášňou pre zjednodušovanie zložitých procesov pomocou softvérových nástrojov. S viac ako desaťročnými skúsenosťami v technologickom priemysle si zdokonalil svoje zručnosti v programoch Microsoft Excel a Outlook, ako aj Tabuľky Google a Dokumenty. Michaelov blog je venovaný zdieľaniu svojich vedomostí a odborných znalostí s ostatnými a poskytuje jednoduché tipy a návody na zlepšenie produktivity a efektivity. Či už ste skúsený profesionál alebo začiatočník, Michaelov blog ponúka cenné poznatky a praktické rady, ako z týchto základných softvérových nástrojov vyťažiť maximum.