Przechwytywanie błędów za pomocą IFERROR
Proszę zastępować dowolny błąd wartością zastępczą za pomocą IFERROR.
Przechwytywanie błędów za pomocą IFERROR to bezpłatna lekcja Excel Formulas Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Excel Formulas Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Excel Formulas Academy zawiera 4 lekcji w sumie.
Poznaj IFERROR
Funkcja IFERROR jest uniwersalnym zabezpieczeniem. Sprawdza, czy formuła powoduje dowolny błąd, a jeśli tak, wyświetla wybraną przez Państwa przyjazną wartość.
Dzięki temu arkusz wygląda przejrzyście i profesjonalnie. Zamiast niepokojących kodów, takich jak #DIV/0!, rozsianych po raporcie, widzą Państwo pomocny tekst, na przykład pustą wartość lub myślnik.
W tej lekcji poznają Państwo składnię IFERROR oraz sposób stosowania tej funkcji w rzeczywistych formułach.
Składnia IFERROR
IFERROR przyjmuje dokładnie dwa argumenty:
- value formuła lub obliczenie, które należy wykonać
- value_if_error wartość wyświetlana, jeśli formuła zwróci błąd
Wzorzec ma postać =IFERROR(your_formula, fallback). Arkusz najpierw wykonuje formułę. Jeśli zadziała, wyświetlany jest rzeczywisty wynik. Jeśli zwróci błąd, zamiast niego wyświetlana jest wartość zastępcza.
=IFERROR(A2/B2, 0)Zastępowanie błędu dzielenia
Przypomnijmy, że dzielenie przez pustą komórkę powoduje błąd #DIV/0!. Umieszczenie działania dzielenia w funkcji IFERROR pozwala poprawić sposób jego wyświetlania.
Jeśli komórka B2 zawiera zero lub jest pusta, formuła zwróci tutaj 0 zamiast błędu. Jeśli B2 zawiera prawidłową liczbę, zostanie wykonane zwykłe dzielenie.
Można także zwrócić pustą wartość, używając jako wartości zastępczej dwóch znaków cudzysłowu: "".
=IFERROR(A2/B2, "")Przyjazne komunikaty wyszukiwania
IFERROR doskonale sprawdza się w przypadku wyszukiwania. Funkcja VLOOKUP, która nie znajdzie dopasowania, zwraca #N/A, co może być mylące dla odbiorców.
Umieszczając funkcję wyszukiwania wewnątrz IFERROR, można zastąpić ten kod jasnym komunikatem, takim jak "Not found". Dzięki temu każda osoba czytająca arkusz od razu rozumie wynik.
Ta pojedyncza technika znacznie ułatwia zaufanie do raportów opartych głównie na wyszukiwaniu oraz ich udostępnianie.
=IFERROR(VLOOKUP(A2,Data!A:B,2,FALSE), "Not found")Zwracanie innego obliczenia
Wartość zastępcza nie musi być zwykłym tekstem. Może nią być inna formuła, wykonywana w przypadku niepowodzenia pierwszej.
Jeśli na przykład podstawowe wyszukiwanie nie zwróci wyniku, można użyć wyszukiwania zastępczego w innej tabeli. Arkusz najpierw próbuje wykonać pierwsze wyszukiwanie, a dopiero w przypadku błędu uruchamia drugie.
Pozwala to płynnie łączyć kolejne próby bez wyświetlania po drodze nieczytelnych błędów.
=IFERROR(VLOOKUP(A2,Main!A:B,2,0), VLOOKUP(A2,Backup!A:B,2,0))IFERROR przechwytuje wszystkie błędy
Ważną cechą IFERROR jest to, że funkcja przechwytuje każdy typ błędu. Nie ma znaczenia, czy formuła zwróci #DIV/0!, #N/A, #VALUE! czy #REF! — dla każdego z nich zostanie wyświetlona wartość zastępcza.
Jest to przydatne, ale stanowi też ostrzeżenie. Ponieważ IFERROR ukrywa wszystkie błędy, może zamaskować rzeczywiste problemy, o których lepiej byłoby wiedzieć.
Jeśli chcą Państwo ukryć wyłącznie brakujące wyniki wyszukiwania, bezpieczniejszym wyborem jest IFNA, którą poznają Państwo w następnej lekcji.
Przykład raportu sprzedaży
Załóżmy, że obliczają Państwo procent wzrostu jako różnicę między bieżącym a poprzednim okresem, podzieloną przez wartość z poprzedniego okresu. Jeśli wartość z poprzedniego okresu wynosi zero, dla nowych produktów pojawia się błąd #DIV/0!.
Umieszczenie obliczenia w funkcji IFERROR i użycie tekstu "New" jako wartości zastępczej zamienia te błędy w znaczącą etykietę. Produkty istniejące od pewnego czasu pokazują rzeczywisty procent, a zupełnie nowe produkty — New.
Raport jest teraz przejrzysty od początku do końca.
=IFERROR((B2-C2)/C2, "New")Ostrożnie z ukrywaniem błędów
Ponieważ IFERROR działa tak szeroko, należy zachować ostrożność przy jej stosowaniu. Jeśli obejmą Państwo funkcją IFERROR całą złożoną formułę, błąd #VALUE! spowodowany nieprawidłowymi danymi może zostać po cichu zastąpiony.
Można wtedy zaufać liczbie, która w rzeczywistości jest błędna. Najlepszą praktyką jest objęcie funkcją konkretnej części, w której najprawdopodobniej wystąpi błąd, a nie całego obliczenia.
Należy używać IFERROR świadomie, a podczas testowania tymczasowo ją usunąć, aby potwierdzić, że formuła rzeczywiście działa.
IFERROR z pustymi wynikami
Popularnym rozwiązaniem stylistycznym jest zwracanie pustego ciągu znaków w przypadku braku danych, aby komórka po prostu wyglądała na pustą.
Użycie "" jako wartości zastępczej pomaga zachować przejrzystość wykresów i sum, ponieważ większość funkcji traktuje tekst wyglądający na pusty jako niewidoczną zawartość.
Należy jednak pamiętać, że komórka zawierająca "" jest technicznie tekstem, a nie naprawdę pustą komórką, co może wpływać na działanie funkcji COUNT lub wykresów. W przypadku sum zwykle bezpieczniej jest zwrócić 0.
=IFERROR(SUMIFS(Sales,Region,A2), 0)Kiedy warto użyć IFERROR
IFERROR należy użyć wtedy, gdy potrzebują Państwo jednego, prostego zabezpieczenia dla formuły i mają pewność, że każdy możliwy błąd jest oczekiwany oraz nieszkodliwy.
Dobrymi przykładami są współczynniki obliczane przez dzielenie, opcjonalne wyszukiwanie oraz obliczenia wzrostu dla nowych elementów.
Należy unikać tej funkcji, gdy trzeba wykrywać nieoczekiwane błędy lub gdy powinien być obsługiwany tylko jeden konkretny typ błędu. W przypadku wyszukiwania większą kontrolę zapewnia IFNA, którą poznają Państwo w dalszej części.
Bezpieczne zagnieżdżanie IFERROR
Jedną funkcję IFERROR można umieścić wewnątrz innej, aby kolejno wypróbować kilka wartości zastępczych. Arkusz próbuje wykonać pierwszą formułę, następnie drugą, a na końcu zwraca wartość domyślną.
W tym przypadku najpierw przeszukiwana jest główna tabela, potem tabela zapasowa, a jeśli w obu nie zostanie znaleziony wynik, zwracany jest tekst "Not found". Każda kolejna warstwa jest uruchamiana tylko wtedy, gdy poprzednia formuła zwróci błąd.
Warto ograniczyć zagnieżdżanie do dwóch lub najwyżej trzech poziomów, ponieważ w przeciwnym razie formuła staje się trudna do odczytania i utrzymania.
=IFERROR(VLOOKUP(A2,Main!A:B,2,0), IFERROR(VLOOKUP(A2,Backup!A:B,2,0), "Not found"))Szybki test
Sprawdźmy, jak dobrze rozumieją już Państwo działanie IFERROR.
Podsumowanie: IFERROR
Poznali już Państwo uniwersalny mechanizm obsługi błędów:
=IFERROR(value, value_if_error)próbuje wykonać formułę i wyświetla wartość zastępczą, jeśli formuła zwróci błąd.- Funkcja przechwytuje każdy typ błędu, dlatego należy używać jej świadomie.
- Wartością zastępczą może być tekst, liczba, pusta wartość
""albo nawet inna formuła. - Należy obejmować funkcją ryzykowną część, a nie całe obliczenie, aby rzeczywiste problemy pozostały widoczne.
Następnie poznają Państwo IFNA, która obsługuje wyłącznie błąd wyszukiwania #N/A.
Często zadawane pytania
Czy lekcja „Przechwytywanie błędów za pomocą IFERROR” jest bezpłatna?
Tak — pełny tekst „Przechwytywanie błędów za pomocą IFERROR” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Excel Formulas Academy, przejdź na CoddyKit PRO. Kurs Excel Formulas Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Przechwytywanie błędów za pomocą IFERROR”?
Proszę zastępować dowolny błąd wartością zastępczą za pomocą IFERROR. Ćwiczysz Excel Formulas Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Excel Formulas Academy?
Nie wymagamy żadnego doświadczenia. Excel Formulas Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Przechwytywanie błędów za pomocą IFERROR”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Excel Formulas Academy?
Tak. Każda lekcja Excel Formulas Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Zrozumienie typów błędów
- Przechwytywanie błędów za pomocą IFERROR
- Obsługa brakujących wyników za pomocą IFNA
- Wykrywanie problemów za pomocą ISERROR