Baza wiedzy / Excel
CZY.BŁĄD w Excelu: wykrywanie błędów i kontrola danych
Pokazuję flagi błędów na prostym dzieleniu i rozdzielam diagnozę od zastępowania wyniku. Wyjaśniam też, dlaczego brak błędu nie oznacza poprawnych danych.

CZY.BŁĄD sprawdza, czy wartość jest błędem Excela. Zwraca PRAWDA albo FAŁSZ. Sama nie naprawia danych i nie zastępuje błędnego wyniku inną liczbą. Ja używam jej przede wszystkim do oznaczania rekordów, które wymagają sprawdzenia.
Angielski odpowiednik to ISERROR. Pokażę różnicę między wykrywaniem błędu, obsługą przewidzianego braku i ukrywaniem problemu w raporcie. Przykłady są syntetyczne i opierają się na prostym dzieleniu oraz wynikach logicznych.
Składnia i pierwszy przykład
Dokumentacja Microsoft podaje składnię:
=CZY.BŁĄD(wartość)
Argumentem może być komórka albo wyrażenie. Dla =CZY.BŁĄD(10/0) wynik to PRAWDA, ponieważ dzielenie przez zero daje #DZIEL/0!. Dla =CZY.BŁĄD(10/2) wynik to FAŁSZ. Angielskie odpowiedniki to =ISERROR(10/0) oraz =ISERROR(10/2).
Zwróć uwagę na typ odpowiedzi. PRAWDA informuje o wystąpieniu błędu, a nie o poprawności rekordu. FAŁSZ mówi jedynie, że otrzymana wartość nie jest błędem Excela. Cena ujemna, błędna kategoria albo przypadkowo wpisane zero mogą nadal przejść taki test.
Osobna kolumna kontroli
Przygotuj w A1:D4 nagłówki Licznik, Mianownik, Wynik i Czy błąd. Wpisz trzy syntetyczne pary liczb, a w C2 formułę =A2/B2. Skopiuj ją do C4. W D2 wpisz =CZY.BŁĄD(C2) i również skopiuj w dół.
| A | B | C: wynik | D: błąd |
|---|---|---|---|
| 10 | 2 | 5 | FAŁSZ |
| 8 | 0 | #DZIEL/0! | PRAWDA |
| 0 | 4 | 0 | FAŁSZ |
Zerowy wynik w ostatnim wierszu jest poprawnym rachunkiem. Błąd w drugim wynika z zerowego mianownika. Nie chcę sprowadzić obu sytuacji do tej samej wartości zero, bo oznaczają coś innego.
Kolumna kontrolna pozwala filtrować PRAWDA i wyjaśniać problemy bez niszczenia oryginalnych wyników. Możesz zobaczyć, który rekord wymaga poprawy, a następnie wrócić do źródła mianownika. To przydatniejsze niż ukrycie każdego błędu pustą komórką.
Rzeczywisty błąd a tekst wyglądający jak błąd
Do osobnej komórki wpisz tekst #DZIEL/0!, poprzedzając go apostrofem. CZY.BŁĄD zwróci dla takiego tekstu FAŁSZ. Komórka zawiera napis, a nie wynik błędnej operacji.
Ta różnica bywa ważna przy imporcie. System może wyeksportować status „ERROR” albo dosłowny napis przypominający kod Excela. CZY.BŁĄD nie jest wyszukiwarką słowa „błąd”. Do tekstowych statusów trzeba ustalić osobną regułę kontroli.
Analogicznie poprawna liczba nie gwarantuje poprawności biznesowej. Jeśli w źródle wpisano przychód 999 zamiast 99, funkcja zwróci FAŁSZ. Do wykrycia takiej pomyłki potrzebujesz reguł zakresu, porównania ze źródłem albo kontroli sum.

CZY.BŁĄD, CZY.BŁ i CZY.BRAK
Te trzy funkcje zwracają wartości logiczne, ale mają inny zakres. Oficjalne polskie nazwy to CZY.BŁĄD, CZY.BŁ oraz CZY.BRAK. Nie ma funkcji „CZY.BŁĄD.NA”.
Dla zwykłej liczby wszystkie trzy zwracają FAŁSZ. Dla dwóch przykładowych błędów:
| Funkcja | #DZIEL/0! | #N/D! |
|---|---|---|
| CZY.BŁĄD | PRAWDA | PRAWDA |
| CZY.BŁ | PRAWDA | FAŁSZ |
| CZY.BRAK | FAŁSZ | PRAWDA |
CZY.BŁĄD wykrywa błędy, CZY.BŁ wykrywa błędy z wyjątkiem #N/D!, a CZY.BRAK sprawdza właśnie #N/D!. Ich angielskie nazwy to odpowiednio ISERROR, ISERR i ISNA.
Gdy kontroluję ogólną jakość kolumny, interesują mnie wszystkie błędy. Gdy sprawdzam brak dopasowania w słowniku, potrzebuję zwykle węższego rozpoznania. Wybrana funkcja powinna odpowiadać rodzajowi problemu, który rzeczywiście potrafisz obsłużyć.
JEŻELI.BŁĄD zastępuje wynik
Jeżeli chcę zwrócić wartość zastępczą dla błędnego wyrażenia, używam JEŻELI.BŁĄD. Dla naszych kolumn można napisać:
=JEŻELI.BŁĄD(A2/B2;"Sprawdź dane")
Dla 10 podzielonego przez 2 wynik nadal wynosi 5. Dla 8 podzielonego przez zero otrzymasz „Sprawdź dane”. Angielska wersja to =IFERROR(A2/B2,"Check data").
Spotkasz też starszy zapis JEŻELI(CZY.BŁĄD(...);...;...). Trzeba w nim powtórzyć wyrażenie w dwóch miejscach. JEŻELI.BŁĄD zapisuje ten zamiar krócej. To różnica względem samego CZY.BŁĄD, które zwraca tylko odpowiedź logiczną.
Komunikat nie usuwa przyczyny problemu. Jeśli obliczenie ma zasilać dalszą agregację, tekst może zostać pominięty przez niektóre operacje. Dlatego kontrolę jakości i informację dla odbiorcy traktuję jako część projektu raportu. Nie wystarczy zamienić czerwony błąd na schludny pusty prostokąt.
Brak dopasowania obsługuj wąsko
Przy WYSZUKAJ.PIONOWO przewidzianym przypadkiem może być kod nieobecny w słowniku. Wtedy JEŻELI.ND obsługuje #N/D!, pozostawiając inne błędy widoczne.
Załóżmy kod w E2 i cennik w A2:B4, z kodem w pierwszej kolumnie i ceną w drugiej:
=JEŻELI.ND(WYSZUKAJ.PIONOWO(E2;$A$2:$B$4;2;FAŁSZ);"Brak kodu")
Ta formuła zakłada, że #N/D! w tym procesie rzeczywiście oznacza brak dopasowania. Jeśli źródłowa komórka ceny sama zawiera taki błąd, trzeba to rozróżnić w kontroli słownika. Obsługa kodu błędu nie jest diagnozą jego pochodzenia.
W nowszych wersjach możesz użyć argumentu braku w X.WYSZUKAJ. Zastępowanie każdego błędu tekstem „Brak kodu” byłoby mylące, gdy przyczyną jest uszkodzone odwołanie lub nieprawidłowa konstrukcja formuły.
Formatowanie warunkowe bez zmiany wartości
Jeżeli chcesz jedynie wyróżnić problemy, możesz użyć CZY.BŁĄD w regule formatowania warunkowego. Dla zakresu C2:C4 wybierz regułę opartą na formule i wpisz:
=CZY.BŁĄD($C2)
Kolumna C jest zablokowana, a numer wiersza zmienia się dla kolejnych komórek. Wybierz widoczne wypełnienie i sprawdź, czy wyróżniony jest drugi rekord. Taka reguła wskazuje błąd bez zmiany oryginalnego wyniku.
Jeśli zaznaczysz szerszy zakres całych rekordów, ta sama reguła może wyróżniać wiersze według błędu w kolumnie C. Ważne, żeby numer w formule odpowiadał pierwszemu wierszowi zaznaczenia. Błędne przesunięcie reguły potrafi oznaczać sąsiedni rekord.
Czego ta kontrola nie naprawi
CZY.BŁĄD ocenia wartość, która trafia do obliczenia. Nie naprawi składni, której Excel nie przyjmie podczas wpisywania. Nie rozstrzygnie też, czy brak dopasowania wynika z nieznanego kodu, tekstowego typu danych czy zbędnej spacji.
Nowsze wersje Excela mają również błędy tablic, na przykład #ROZLANIE!. Przy problemie z miejscem na wynik sprawdź obszar rozlania i blokujące komórki. Ukrywanie komunikatu nie tworzy wolnego miejsca. Zasady wyjaśnia dokumentacja tablic dynamicznych.
Nie sumuję automatycznie „wszystkiego oprócz błędów” bez ustalenia, co oznaczają pominięte rekordy. Jeżeli brakuje ceny dla części transakcji, suma pozostałych może być technicznie policzalna, a nadal nie przedstawiać całej sprzedaży. W raporcie potrzebna jest informacja o niekompletności.
Ćwiczenie: wykryj, wyjaśnij, zdecyduj
Wróć do trzech par liczb. Sprawdź wyniki CZY.BŁĄD, a potem zmień mianownik drugiego rekordu z zera na 4. Wynik dzielenia powinien zmienić się na 2, a kontrola na FAŁSZ.
Następnie dodaj tekst przypominający kod błędu oraz osobny błąd braku danych. Porównaj CZY.BŁĄD, CZY.BŁ i CZY.BRAK. Opisz, które przypadki chcesz tylko wyróżniać, które wolno zastąpić komunikatem, a które wymagają zatrzymania raportu. Do rozróżniania typów wartości przyda się też hasło o CZY.TEKST.
Najważniejsze w pigułce
Czy CZY.BŁĄD naprawia formułę?
Nie. Zwraca PRAWDA, gdy argument jest błędem, i FAŁSZ w pozostałych przypadkach.
Czym różni się CZY.BRAK od CZY.BŁĄD?
CZY.BRAK wykrywa tylko #N/D!, a CZY.BŁĄD ma szerszy zakres. CZY.BŁ wykrywa błędy poza #N/D!.
Czy tekst wyglądający jak błąd zostanie wykryty?
Nie. Tekstowy napis z kodem błędu pozostaje tekstem. Funkcja rozpoznaje wartości błędów Excela.
Przy pracy nad artykułem użyto w zautomatyzowany sposób sztucznej inteligencji. Jeśli też chcesz tak umieć, sprawdź ten projekt.
