Jak używać funkcji IFNA w Excelu z przykładami

  • Udostępnij To
Michael Brown

Otrzymujesz wiele błędów #N/A w swoich arkuszach i jesteś ciekawy, czy istnieje sposób, aby wyświetlić niestandardowy tekst zamiast? Formuła IFNA jest rozwiązaniem, którego potrzebujesz.

Gdy formuła Excela nie może czegoś zidentyfikować lub znaleźć, wyrzuca błąd #N/A. Aby wychwycić taki błąd i zastąpić go przyjaznym dla użytkownika komunikatem, możesz użyć funkcji IFNA. Innymi słowy, #N/A to sposób Excela na powiedzenie, że szukana wartość nie występuje w przywoływanym zbiorze danych. IFNA to Twój sposób na wychwycenie i obsługę tego błędu.

    Funkcja IFNA w programie Excel

    Funkcja IFNA programu Excel jest przeznaczona do wychwytywania i obsługi błędów #N/A. Jeżeli formuła ocenia się na #N/A, IFNA wychwytuje ten błąd i zastępuje go wartością własną określoną przez użytkownika; w przeciwnym razie zwraca normalny wynik formuły.

    Składnia IFNA

    Składnia funkcji IFNA jest następująca:

    IFNA(wartość, wartość_if_na)

    Gdzie:

    Wartość (wymagane) - wzór, wartość lub referencja do sprawdzenia w przypadku błędu #N/A.

    Wartość_jeśli_na (wymagane) - wartość, która ma zostać zwrócona w przypadku wykrycia błędu #N/A.

    Uwagi użytkowe

    • Funkcja IFNA obsługuje tylko #N/A, nie tłumiąc żadnych innych błędów.
    • Jeśli wartość argumentem jest formuła macierzowa , IFNA zwraca tablicę wyników, po jednym na komórkę, jak pokazano w tym przykładzie.

    Dostępność IFNA

    Funkcja IFNA została wprowadzona w Excelu 2013 i jest dostępna we wszystkich kolejnych wersjach, w tym w Excelu 2016, Excelu 2019, Excelu 2021 i Microsoft 365.

    We wcześniejszych wersjach można złapać błędy #N/A, używając razem funkcji IF i ISNA.

    Jak używać funkcji IFNA w programie Excel

    Aby skutecznie korzystać z IFNA w programie Excel, należy zastosować to ogólne podejście:

    1. W pierwszym argumencie (. wartość ), postawić wzór dotknięty błędem #N/A.
    2. W drugim argumencie (. wartość_jeśli_na ), wpisz tekst, który chcesz zwrócić zamiast standardowej notacji błędu. Aby zwrócić pustą komórkę, gdy nic nie zostanie znalezione, podaj pusty łańcuch ("").

    Aby powrócić niestandardowy tekst , wzór rodzajowy to:

    IFNA( formuła (), " niestandardowy tekst ")

    Aby zwrócić pusta komórka , wzór rodzajowy to:

    IFNA( formuła (), "")

    Zobaczmy, jak to działa na prostym przykładzie. W poniższej tabeli załóżmy, że chcesz wiedzieć, jak wynik danego ucznia plasuje się wśród innych. Ponieważ dane są posortowane według Wynik kolumny od najwyższej do najniższej, ranga będzie odpowiadała względnej pozycji ucznia w tabeli. A żeby uzyskać pozycję, możesz użyć funkcji MATCH w jej najprostszej postaci:

    =MATCH(E1, A2:A10, 0)

    Ponieważ wartość lookup (Neal) nie jest dostępna w tablicy lookup (A2:A10), dochodzi do błędu #N/A.

    Napotykając ten błąd, niedoświadczeni użytkownicy mogą pomyśleć, że coś jest nie tak z formułą, a Ty jako twórca skoroszytu otrzymasz wiele pytań. Aby tego uniknąć, możesz wyraźnie zaznaczyć, że formuła jest poprawna, tylko nie może znaleźć wartości, której ma szukać. Tak więc zagnieżdżasz formułę MATCH w pierwszym argumencie IFNA, a w drugim argumencie wpisujesz swój własnytekst, w naszym przypadku "Nie znaleziono":

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

    Teraz, zamiast standardowej notacji błędu, w komórce wyświetlany jest własny tekst, informujący użytkowników, że wartość lookup nie występuje w zbiorze danych:

    Jak używać IFNA z VLOOKUP

    Najczęściej błąd #N/A występuje w funkcjach, które szukają czegoś, takich jak VLOOKUP, HLOOKUP, LOOKUP i MATCH. Poniższe przykłady obejmują kilka typowych przypadków użycia.

    Przykład 1. Podstawowa formuła IFNA VLOOKUP

    Aby przechwycić błędy #N/A, które występują, gdy VLOOKUP nie jest w stanie znaleźć dopasowania, sprawdź jego wynik za pomocą IFNA i określ wartość, która ma być wyświetlana zamiast błędu. Powszechną praktyką jest owinięcie funkcji IFNA wokół istniejącej formuły VLOOKUP za pomocą tej składni:

    IFNA(VLOOKUP(), " twój tekst ")

    W naszej przykładowej tabeli załóżmy, że chcesz pobrać wynik konkretnego ucznia (E1). W tym celu używasz takiej klasycznej formuły VLOOKUP:

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

    Problem polega na tym, że Neal nie przystąpił do egzaminu, dlatego jego nazwisko nie znajduje się na liście i oczywiście VLOOKUP nie znajduje dopasowania.

    Aby ukryć błąd, zawijamy VLOOKUP w IFNA w taki sposób:

    =IFNA(VLOOKUP(E1, A2:B10, 2, FALSE), "Nie przystąpił do egzaminu")

    Teraz wynik nie wygląda tak onieśmielająco dla użytkownika i jest o wiele bardziej informacyjny:

    Przykład 2. IFNA VLOOKUP do przeglądania wielu arkuszy

    Funkcja IFNA przydaje się również do wykonywania tzw. sekwencyjny lub przykuty W ten sposób zagnieżdżasz kilka różnych formuł IFNA(VLOOKUP(...)) jedna w drugą:

    IFNA(VLOOKUP(...), IFNA(VLOOKUP(...), IFNA(VLOOKUP(...), "Nie znaleziono")))

    Jeśli pierwotna VLOOKUP nie znajdzie niczego, jej funkcja IFNA uruchamia następną VLOOKUP, aż do znalezienia żądanej wartości. Jeśli wszystkie looki zawiodą, formuła zwróci określony tekst.

    Załóżmy, że masz wyniki różnych klas wymienione w różnych arkuszach (o nazwie Klasa A , Klasa B oraz Klasa C Twoim celem jest uzyskanie wyniku konkretnego studenta, którego nazwisko jest wprowadzone w komórce B1 w bieżącym arkuszu. Aby wykonać zadanie, skorzystaj z poniższej formuły:

    =IFNA(VLOOKUP(B1, 'Klasa A'!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, 'Klasa B'!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, 'Klasa C'!A2:B5, 2, FALSE), "Nie znaleziono"))

    Formuła sekwencyjnie szuka określonej nazwy w trzech różnych arkuszach w kolejności zagnieżdżania VLOOKUP'ów i przynosi pierwsze znalezione dopasowanie:

    Przykład 3. IFNA z INDEX MATCH

    W podobny sposób IFNA może wyłapywać błędy #N/A generowane przez inne funkcje lookup. Jako przykład użyjmy jej razem z formułą INDEX MATCH:

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

    Istota formuły jest taka sama jak we wszystkich poprzednich przykładach - INDEX MATCH wykonuje lookup, a IFNA ocenia wynik i wyłapuje błąd #N/A, jeśli wartość, do której się odwołuje, nie została znaleziona.

    IFNA zwraca wiele wyników

    W przypadku, gdy funkcja wewnętrzna (tj. formuła umieszczona w wartość argument) zwraca wiele wartości, IFNA przetestuje każdą zwróconą wartość indywidualnie i wypisze tablicę wyników. Na przykład:

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

    W programie Dynamic Array Excel (Microsoft 365 i Excel 2021) zwykła formuła w najwyższej komórce (E2) rozlewa automatycznie wszystkie wyniki w sąsiednich komórkach (w ujęciu Excela nazywa się to zakresem rozlewania).

    W wersjach przeddynamicznych (Excel 2019 i niższe) podobny efekt można uzyskać stosując formułę tablicy wielokomórkowej, którą uzupełnia się skrótem Ctrl + Shift + Enter.

    Jaka jest różnica między IFNA a IFERROR?

    W zależności od przyczyny problemu formuła Excela może wywoływać różne błędy, takie jak #N/A, #NAME, #VALUE, #REF, #DIV/0, #NUM i inne. Funkcja IFERROR wyłapuje wszystkie te błędy, natomiast IFNA ogranicza się tylko do #N/A. Który lepiej wybrać? To zależy od sytuacji.

    Jeśli chcesz stłumić każdy rodzaj błędu , to należy użyć funkcji IFERROR. Jest ona szczególnie przydatna w skomplikowanych obliczeniach, gdy formuła zawiera kilka funkcji, które mogą generować różne błędy.

    Z funkcje przeglądania , lepiej użyć IFNA, ponieważ wyświetla niestandardowy wynik tylko wtedy, gdy wartość lookup nie zostanie znaleziona i nie ukrywa podstawowych problemów z samą formułą.

    Aby zilustrować różnicę, przywołajmy naszą podstawową formułę IFNA VLOOKUP i "przypadkowo" źle napiszemy nazwę funkcji (VLOKUP zamiast VLOOKUP).

    =IFNA(VLOKUP(E1, A2:B10, 2, FALSE), "Nie przystąpił do egzaminu")

    IFNA nie tłumi tego błędu, więc wyraźnie widać, że coś jest nie tak z jedną z nazw funkcji:

    Teraz zobaczmy, co się stanie, jeśli użyjesz IFERROR:

    =IFERROR(VLOKUP(E1, A2:B10, 2, FALSE), "Nie przystąpił do egzaminu")

    Hmm... pisze, że Oliwia nie przystąpiła do egzaminu, co nie jest prawdą! Dzieje się tak dlatego, że funkcja IFERROR wyłapuje błąd #NAME? i zamiast niego zwraca tekst niestandardowy. W tej sytuacji nie tylko zwraca błędną informację, ale również zaciemnia problem z formułą.

    Tak wygląda wykorzystanie formuły IFNA w Excelu. Dziękuję za przeczytanie i czekam na Ciebie na naszym blogu za tydzień!

    Dostępne pliki do pobrania

    Przykłady formuły Excel IFNA (plik .xlsx)

    Michael Brown jest oddanym entuzjastą technologii z pasją do upraszczania złożonych procesów za pomocą narzędzi programowych. Dzięki ponad dziesięcioletniemu doświadczeniu w branży technologicznej doskonalił swoje umiejętności w programach Microsoft Excel i Outlook, a także w Arkuszach i Dokumentach Google. Blog Michaela jest poświęcony dzieleniu się swoją wiedzą i doświadczeniem z innymi, dostarczając łatwych do zastosowania wskazówek i samouczków w celu poprawy produktywności i wydajności. Niezależnie od tego, czy jesteś doświadczonym profesjonalistą, czy początkującym, blog Michaela oferuje cenne spostrzeżenia i praktyczne porady dotyczące maksymalnego wykorzystania tych niezbędnych narzędzi programowych.