Jak używać IFERROR w Excelu z przykładami formuł

  • Udostępnij To
Michael Brown

Samouczek pokazuje jak używać funkcji IFERROR w Excelu do wyłapywania błędów i zastępowania ich pustą komórką, inną wartością lub niestandardowym komunikatem. Dowiesz się jak używać funkcji IFERROR z Vlookup i Index Match, oraz jak wypada ona w porównaniu z IF ISERROR i IFNA.

"Daj mi miejsce do stania, a poruszę ziemię" - powiedział kiedyś Archimedes. "Daj mi formułę, a sprawię, że zwróci ona błąd" - powiedziałby użytkownik Excela. W tym tutorialu nie będziemy się przyglądać temu, jak zwracać błędy w Excelu, raczej dowiemy się, jak im zapobiegać, aby zachować czyste arkusze i przejrzyste formuły.

    Funkcja IFERROR w Excelu - składnia i podstawowe zastosowania

    Funkcja IFERROR w programie Excel jest przeznaczona do wychwytywania i zarządzania błędami w formułach i obliczeniach. Dokładniej mówiąc, IFERROR sprawdza formułę i jeśli ocenia ją jako błąd, zwraca inną wartość określoną przez użytkownika; w przeciwnym razie zwraca wynik formuły.

    Składnia funkcji IFERROR w Excelu jest następująca:

    IFERROR(wartość, wartość_if_error)

    Gdzie:

    • Wartość (wymagane) - co ma być sprawdzane pod kątem błędów. Może to być formuła, wyrażenie, wartość lub odwołanie do komórki.
    • Wartość_jeśli_błąd (wymagane) - co zwrócić w przypadku stwierdzenia błędu. Może to być pusty ciąg znaków (pusta komórka), komunikat tekstowy, wartość liczbowa, inna formuła lub obliczenie.

    Na przykład, podczas dzielenia dwóch kolumn liczb, możesz otrzymać garść różnych błędów, jeśli jedna z kolumn zawiera puste komórki, zera lub tekst.

    Aby temu zapobiec, użyj funkcji IFERROR, aby złapać i obsłużyć błędy w sposób, w jaki chcesz.

    Jeśli błąd, to puste miejsce

    Dostarcz pusty łańcuch (") do wartość_jeśli_błąd argument, aby zwrócić pustą komórkę, jeśli zostanie znaleziony błąd:

    =IFERROR(A2/B2, "")

    Jeśli błąd, to pokaż komunikat

    Możesz również wyświetlić własny komunikat zamiast standardowej notacji błędów Excela:

    =IFERROR(A2/B2, "Błąd w obliczeniach")

    5 rzeczy, które powinieneś wiedzieć o funkcji IFERROR w Excelu

    1. Funkcja IFERROR w Excelu obsługuje wszystkie typy błędów, w tym #DIV/0!, #N/A, #NAME?, #NULL!, #NUM!, #REF! i #VALUE!
    2. W zależności od zawartości wartość_jeśli_błąd argument, IFERROR może zastąpić błędy niestandardową wiadomością tekstową, liczbą, datą lub wartością logiczną, wynikiem innej formuły lub pustym ciągiem (pustą komórką).
    3. Jeśli wartość argument jest pustą komórką, jest traktowany jako pusty ciąg ('''), ale nie jako błąd.
    4. IFERROR został wprowadzony w Excelu 2007 i jest dostępny we wszystkich kolejnych wersjach Excela 2010, Excela 2013, Excela 2016, Excela 2019, Excela 2021 i Excela 365.
    5. Aby wychwycić błędy w programie Excel 2003 i wcześniejszych wersjach, należy użyć funkcji ISERROR w połączeniu z IF, jak pokazano w tym przykładzie.

    Przykłady formuły IFERROR

    Poniższe przykłady pokazują, jak używać IFERROR w Excelu w połączeniu z innymi funkcjami, aby wykonać bardziej złożone zadania.

    Excel IFERROR z Vlookup

    Jednym z najczęstszych zastosowań funkcji IFERROR jest informowanie użytkowników, że poszukiwana przez nich wartość nie istnieje w zbiorze danych. W tym celu zawijasz formułę VLOOKUP w IFERROR, jak poniżej:

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

    Jeśli wartość lookup nie znajduje się w tabeli, w której szukasz, zwykła formuła Vlookup zwróciłaby błąd #N/A:

    Aby użytkownicy mieli pewność, zawiń VLOOKUP w IFERROR i wyświetl bardziej informacyjny i przyjazny dla użytkownika komunikat:

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

    Poniższy zrzut ekranu pokazuje tę formułę Iferror w programie Excel:

    Jeśli chcesz przechwycić tylko błędy #N/A, ale nie wszystkie błędy, użyj funkcji IFNA zamiast IFERROR.

    Aby uzyskać więcej przykładów formuły Excel IFERROR VLOOKUP, sprawdź te tutoriale:

    • Iferror z Vlookup do wychwytywania i obsługi błędów
    • Jak uzyskać N-te wystąpienie wartości szukanej
    • Jak uzyskać wszystkie wystąpienia wartości szukanej?

    Zagnieżdżone funkcje IFERROR do wykonywania sekwencyjnych Vlookups w Excelu

    W sytuacjach, gdy trzeba wykonać wiele Vlookupów w zależności od tego, czy poprzedni Vlookup zakończył się sukcesem czy porażką, można zagnieździć dwie lub więcej funkcji IFERROR jedna w drugiej.

    Załóżmy, że masz kilka raportów sprzedaży z regionalnych oddziałów firmy i chcesz uzyskać kwotę dla określonego identyfikatora zamówienia. Z A2 jako wartością lookup w bieżącym arkuszu i A2:B5 jako zakresem lookup w 3 arkuszach lookup (Raport 1, Raport 2 i Raport 3), formuła idzie w następujący sposób:

    =IFERROR(VLOOKUP(A2, "Raport 1"!A2:B5,2,0),IFERROR(VLOOKUP(A2, "Raport 2"!A2:B5,2,0),IFERROR(VLOOKUP(A2, "Raport 3"!A2:B5,2,0), "nie znaleziono"))

    Wynik będzie wyglądał coś podobnego do tego:

    Szczegółowe wyjaśnienie logiki formuły znajdziesz w rozdziale Jak zrobić sekwencyjne Vlookups w Excelu.

    IFERROR w formułach tablicowych

    Jak zapewne wiesz, formuły tablicowe w Excelu służą do wykonywania wielu obliczeń w ramach jednej formuły. Jeśli podasz formułę tablicową lub wyrażenie, którego wynikiem będzie tablica w polu wartość argument funkcji IFERROR, zwróci tablicę wartości dla każdej komórki w określonym zakresie. Poniższy przykład pokazuje szczegóły.

    Powiedzmy, że masz Razem w kolumnie B i Cena w kolumnie C, i chcesz obliczyć Ilość ogółem Można to zrobić za pomocą formuła macierzowa, który dzieli każdą komórkę z zakresu B2:B4 przez odpowiadającą jej komórkę z zakresu C2:C4, a następnie sumuje wyniki:

    =SUMA($B$2:$B$4/$C$2:$C$4)

    Formuła działa prawidłowo, dopóki zakres dzielników nie ma zer lub pustych komórek. Jeśli jest w nim przynajmniej jedna wartość 0 lub pusta komórka, zwracany jest błąd #DIV/0!

    Aby naprawić ten błąd, wystarczy wykonać podział w ramach funkcji IFERROR:

    =SUM(IFERROR($B$2:$B$4/$C$2:$C$4,0))

    Formuła dzieli wartość w kolumnie B przez wartość w kolumnie C w każdym wierszu (100/2, 200/5 i 0/0) i zwraca tablicę wyników {50; 40; #DIV/0!}. Funkcja IFERROR wyłapuje wszystkie błędy #DIV/0! i zastępuje je zerami. A następnie funkcja SUM sumuje wartości w wynikowej tablicy {50; 40; 0} i wyprowadza wynik końcowy (50+40=90).

    Uwaga. Należy pamiętać, że formuły tablicowe należy uzupełniać poprzez naciśnięcie skrótu Ctrl + Shift + Enter.

    IFERROR vs. IF ISERROR

    Teraz, gdy już wiesz, jak łatwo jest używać funkcji IFERROR w Excelu, możesz się zastanawiać, dlaczego niektórzy ludzie nadal skłaniają się do używania kombinacji JEŻELI ISERROR. Czy ma ona jakieś zalety w porównaniu z IFERROR? Żadnych. W starych, złych czasach Excela 2003 i niższych, gdy IFERROR nie istniał, JEŻELI ISERROR był jedynym możliwym sposobem na wychwycenie błędów. W Excelu 2007 i późniejszych jest to po prostu nieco bardziej skomplikowany sposób naosiągnąć ten sam rezultat.

    Na przykład, aby złapać błędy Vlookup, możesz użyć jednej z poniższych formuł.

    W programie Excel 2007 - Excel 2016:

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

    We wszystkich wersjach programu Excel:

    IF(ISERROR(VLOOKUP(...)), "Nie znaleziono", VLOOKUP(...))

    Zauważ, że w formule IF ISERROR VLOOKUP musisz wykonać Vlookup dwukrotnie. W języku angielskim formułę można odczytać w następujący sposób: If Vlookup results in error, return "Not found", otherwise output the Vlookup result.

    A oto rzeczywisty przykład formuły Excel If Iserror Vlookup:

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

    Więcej informacji znajdziesz w rozdziale Używanie funkcji ISERROR w programie Excel.

    IFERROR vs. IFNA

    Wprowadzona wraz z programem Excel 2013, IFNA jest jeszcze jedną funkcją sprawdzającą formułę pod kątem błędów. Jej składnia jest podobna do składni IFERROR:

    IFNA(wartość, wartość_if_na)

    Czym różni się IFNA od IFERROR? Funkcja IFNA wychwytuje tylko błędy #N/A natomiast IFERROR obsługuje wszystkie typy błędów.

    W jakich sytuacjach możesz chcieć użyć IFNA? Kiedy nie jest rozsądne ukrywanie wszystkich błędów. Na przykład podczas pracy z ważnymi lub wrażliwymi danymi możesz chcieć być ostrzeżony o możliwych błędach w zestawie danych, a standardowe komunikaty o błędach Excela z symbolem "#" mogą być żywymi wskaźnikami wizualnymi.

    Zobaczmy, jak można stworzyć formułę, która wyświetla komunikat "Nie znaleziono" zamiast błędu N/A, który pojawia się, gdy wartość lookup nie występuje w zestawie danych, ale zwraca uwagę na inne błędy Excela.

    Załóżmy, że chcesz wyciągnąć Qty. z tabeli lookup do tabeli podsumowującej, jak pokazano na poniższym zrzucie ekranu. Użycie formuły Excel Iferror Vlookup dałoby estetyczny wynik, który jest technicznie niepoprawny, ponieważ Cytryny istnieją w tabeli odnośników:

    Aby złapać #N/A, ale wyświetlić błąd #DIV/0, użyj funkcji IFNA w Excelu 2013 i Excelu 2016:

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

    Lub, kombinacja IF ISNA w Excelu 2010 i wcześniejszych wersjach:

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

    Składnia formuł IFNA VLOOKUP i IF ISNA VLOOKUP jest podobna do omówionych wcześniej formuł IFERROR VLOOKUP i IF ISERROR VLOOKUP.

    Jak widać na poniższym zrzucie ekranu, formuła Ifna Vlookup zwraca "Nie znaleziono" tylko dla elementu, który nie występuje w tabeli lookup ( Brzoskwinie ). za Cytryny , pokazuje #DIV/0! wskazując, że nasza tablica lookup zawiera błąd dzielenia przez zero:

    Więcej szczegółów znajdziesz w rozdziale Używanie funkcji IFNA w Excelu.

    Najlepsze praktyki dotyczące używania IFERROR w Excelu

    Do tej pory wiesz już, że funkcja IFERROR jest najprostszym sposobem na wyłapanie błędów w Excelu i zamaskowanie ich za pomocą pustych komórek, wartości zerowych lub własnych komunikatów. Nie oznacza to jednak, że powinieneś zawijać każdą formułę z obsługą błędów. Poniższe proste zalecenia mogą pomóc Ci zachować równowagę.

    1. Nie wyłapuj błędów bez powodu.
    2. Zawiń najmniejszą możliwą część formuły w IFERROR.
    3. Aby obsłużyć tylko konkretne błędy, użyj funkcji obsługi błędów o mniejszym zakresie:
      • IFNA lub IF ISNA, aby złapać tylko błędy #N/A.
      • ISERR, aby złapać wszystkie błędy z wyjątkiem #N/A.

    W ten sposób używasz funkcji IFERROR w Excelu do wychwytywania i obsługi błędów. Aby przyjrzeć się bliżej formułom omawianym w tym tutorialu, zapraszamy do pobrania naszego przykładowego skoroszytu IFERROR w Excelu. Dziękuję za lekturę i mam nadzieję, że zobaczymy się na naszym blogu w przyszłym tygodniu.

    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.