Baza wiedzy / Excel
CZY.BRAK w Excelu: jak wykryć błąd #N/D!
Sprawdzam konkretny brak dopasowania, zachowując oryginalny wynik. Pokazuję status i krótszy wariant zastępowania błędu.

Jeżeli wyszukiwanie nie znalazło produktu, chcę umieć odróżnić taki przypadek od uszkodzonego odwołania albo dzielenia przez zero. Do rozpoznania konkretnego błędu #N/D! służy CZY.BRAK, angielskie ISNA. Polska nazwa CZY.ND użyta wcześniej w tym haśle była błędna. Właściwą nazwę potwierdza katalog funkcji Microsoft.
Co sprawdza CZY.BRAK
Składnia ma jeden argument:
=CZY.BRAK(wartość)
Argumentem może być komórka albo wyrażenie. Funkcja zwraca PRAWDA dla rzeczywistego błędu #N/D!, a FAŁSZ dla innych wartości, także innych rodzajów błędów. Nie zastępuje źródłowej wartości i nie naprawia wyszukiwania. Tak działanie rodziny CZY opisuje dokumentacja Microsoft.
Ja wykorzystuję wynik jako status do kontroli. Gdy w raporcie pojawia się brak ceny, potrzebuję wiedzieć, czy produkt jest nieobecny w słowniku. Samo PRAWDA nie wyjaśnia jednak przyczyny braku. Może chodzić o nowy produkt, nieaktualny cennik albo klucz z dodatkową spacją. Status kieruje do dalszego sprawdzenia.
Mały przykład z cennikiem
To dane syntetyczne. Wpisz nagłówki do A1:B1, a dwa produkty do A2:B3. Ceny są umownymi liczbami.
| Kod | Cena |
|---|---|
| P01 | 10 |
| P02 | 20 |
W E2 umieść P03. W F2 wpisz dokładne wyszukiwanie:
=WYSZUKAJ.PIONOWO(E2;$A$2:$B$3;2;FAŁSZ)
P03 nie występuje w pierwszej kolumnie cennika, więc F2 daje #N/D!. Brak dopasowania przy takim wyszukiwaniu opisuje Microsoft. W G2 możesz teraz zapisać:
=CZY.BRAK(F2)
Wynik to PRAWDA. Zmień E2 na P02: cena w F2 będzie równa 20, a status w G2 zmieni się na FAŁSZ. Nie dopisujesz ceny do słownika i nie zmieniasz oryginalnego wyniku. Otrzymujesz informację, na podstawie której możesz wyfiltrować rekordy wymagające wyjaśnienia.
Komunikat obok wyniku i formatowanie
Gdy potrzebuję tekstowego statusu, używam JEŻELI:
=JEŻELI(CZY.BRAK(F2);"sprawdź cennik";"brak błędu N/D")
Drugą odpowiedź celowo nazywam wąsko. FAŁSZ z CZY.BRAK nie potwierdza, że cały rekord jest poprawny. F2 mogłoby zawierać inny błąd, a ten test nadal zwróci FAŁSZ. Komunikat „wszystko dobrze” obiecywałby więcej, niż rzeczywiście sprawdziliśmy.
Do wyróżniania braków można też użyć reguły formatowania warunkowego opartej na formule =CZY.BRAK($F2). Dla zakresu zaczynającego się w wierszu 2 blokuję kolumnę F i pozwalam zmieniać numer wiersza. Microsoft opisuje reguły formatowania oparte na formułach. Taki kolor ma prowadzić do sprawdzenia konkretnego wpisu, a nie udawać naprawę danych.

Kiedy wygodniejsze jest JEŻELI.ND
Jeśli chcesz wyłącznie zastąpić #N/D! tekstem, zwykle krótsze będzie:
=JEŻELI.ND(F2;"brak w cenniku")
JEŻELI.ND przekazuje wartość F2, gdy nie jest ona tym błędem. Możesz też umieścić wyszukiwanie bezpośrednio w pierwszym argumencie. Nie ma potrzeby powtarzać WYSZUKAJ.PIONOWO osobno w teście i ponownie w wyniku JEŻELI.
W nowszym Excelu X.WYSZUKAJ ma argument wyniku przy braku dopasowania. W pokazanym układzie formuła =X.WYSZUKAJ(E2;A2:A3;B2:B3;"brak w cenniku") zwróci komunikat dla P03. Funkcja nie jest dostępna w Excelu 2016 i 2019. Wybierz wariant zgodny z wersjami osób korzystających z pliku.
CZY.BRAK a pozostałe testy błędów
| Polska nazwa | Angielska nazwa | Zakres testu |
|---|---|---|
| CZY.BRAK | ISNA | Tylko #N/D! / #N/A |
| CZY.BŁĄD | ISERROR | Dowolna wartość błędu |
| CZY.BŁ | ISERR | Błędy z wyjątkiem #N/D! / #N/A |
Nazwy i rozróżnienie potwierdza katalog Microsoft. CZY.BEZWARTOŚCIOWE ze starego tekstu nie jest poprawną nazwą funkcji. Nie korzystaj z niej jako sposobu sprawdzania #ARG!.
Warto też odróżnić błąd od napisu wyglądającego jak błąd. Tekst wpisany jako tekst, na przykład poprzedzony apostrofem, nie jest tym samym co wartość błędu. Przy imporcie sprawdź, co rzeczywiście znajduje się w komórce. Inaczej możesz porównywać dwa podobne wizualnie pola o innym znaczeniu dla formuł.
Ćwiczenie i granice interpretacji
Pozostaw F2 jako wynik wyszukiwania, a obok obserwuj status. Sprawdź istniejący P01, brakujący P03 oraz sytuację, w której sama formuła ma nieprawidłowe odwołanie. Przed każdą zmianą przewidź wynik CZY.BRAK. Dzięki temu zobaczysz, dlaczego ten test nie zastępuje ogólnej diagnozy błędów Excela.
Brak ceny nie staje się zerową ceną po dodaniu komunikatu. Zachowaj informację o niekompletnych rekordach i ustal, czy podsumowanie może je pomijać. W tabeli przestawnej puste pola oraz błędy mają własne opcje wyświetlania; CZY.BRAK nie jest ogólną naprawą pustych pól takiej tabeli. W tym haśle sprawdzamy wynik zwykłej formuły wyszukiwania.
Najważniejsze w pigułce
Czy poprawna nazwa to CZY.ND?
Nie. Polski odpowiednik ISNA to CZY.BRAK. Historyczny adres hasła pozostaje zachowany.
Czy CZY.BRAK wykrywa wszystkie błędy?
Nie. Zwraca PRAWDA tylko dla #N/D!, a dla innych rodzajów błędów FAŁSZ.
Kiedy użyć JEŻELI.ND?
Gdy chcesz zastąpić konkretnie #N/D! inną wartością. Do osobnego statusu kontrolnego przydaje się CZY.BRAK.
Przy pracy nad artykułem użyto w zautomatyzowany sposób sztucznej inteligencji. Jeśli też chcesz tak umieć, sprawdź ten projekt.
