#N/D! (po angielsku #N/A) oznacza „niedostępne”: wyszukiwanie takie jak WYSZUKAJ.PIONOWO, X.WYSZUKAJ albo PODAJ.POZYCJĘ (VLOOKUP, XLOOKUP, MATCH) nie znalazło szukanej wartości. Poniżej =WYSZUKAJ.PIONOWO(E2;A2:B6;2;FAŁSZ) zwraca #N/D!, bo Kiwi nie ma na liście. Zmień E2 na Pear, a formuła zwróci 1.5. Tabela pokazuje formułę po angielsku, =VLOOKUP(E2,A2:B6,2,FALSE), ale możesz w niej wpisywać formuły także po polsku, ze średnikami.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Price | Look for | Price | ||
| 2 | Apple | 1.2 | Kiwi | #N/A | ||
| 3 | Pear | 1.5 | ||||
| 4 | Plum | 0.8 | ||||
| 5 | Bread | 2.4 | ||||
| 6 | Milk | 1.1 |
#N/A Szukanej wartości nie ma w zakresie wyszukiwania.W polskim Excelu: =WYSZUKAJ.PIONOWO(E2;A2:B6;2;FAŁSZ)Gdy wartości naprawdę brakuje, #N/D! jest właściwą odpowiedzią, a JEŻELI.ND (niżej) zamienia go w komunikat. Warto naprawiać przypadki, w których wartość jest, a wyszukiwanie i tak zawodzi. Polski Excel pokazuje ten błąd jako #N/D!, a tabele na tej stronie pod angielską nazwą #N/A; to ten sam błąd.
#N/D! po skopiowaniu wyszukiwania w dół
Najczęstsza przyczyna w prawdziwych arkuszach: formuła działa w pierwszym wierszu, a niektóre wiersze niżej pokazują #N/A, chociaż produkty są na liście.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Price | Order | Price | ||
| 2 | Apple | 1.2 | Apple | 1.2 | ||
| 3 | Pear | 1.5 | Plum | 0.8 | ||
| 4 | Plum | 0.8 | Pear | #N/A | ||
| 5 | Bread | 2.4 | Milk | 1.1 | ||
| 6 | Milk | 1.1 | Apple | #N/A |
#N/A Szukanej wartości nie ma w zakresie wyszukiwania.W polskim Excelu: =WYSZUKAJ.PIONOWO(E4;A4:B8;2;FAŁSZ)Kliknij F4: jej zakres tabeli to A4:B8, dwa wiersze niżej niż w F2. Skopiowanie formuły w dół przesunęło razem z nią zakres, więc Pear (wiersz 3) i Apple (wiersz 2) z niego wypadły. F3 i F5 działają tylko dlatego, że Plum i Milk są nadal w swoich zakresach. Kliknij F2 i zmień zakres na $A$2:$B$6: cała kolumna się dostosuje i pojawi się każda cena. Znaki $ blokują zakres, zobacz odwołania bezwzględne.
#N/D! przez nadmiarowe spacje
"Pear " ze spacją na końcu i "Pear" to dla Excela różne wartości. Spacje biorą się z danych wpisywanych ręcznie, kopiowanych ze stron internetowych albo eksportowanych z innych systemów i są w komórce niewidoczne.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Price | Look for | Price | Length of A2 | |
| 2 | Pear | 1.5 | Pear | #N/A | 5 | |
| 3 | Apple | 1.2 | ||||
| 4 | Plum | 0.8 |
#N/A Szukanej wartości nie ma w zakresie wyszukiwania.W polskim Excelu: =WYSZUKAJ.PIONOWO(D2;A2:B4;2;FAŁSZ)E2 zwraca #N/A. F2 pokazuje przyczynę: Pear ma 4 litery, a A2 ma 5 znaków. Usuń spację w A2, a wyszukiwanie zadziała. Trzy sposoby, żeby naprawić to na stałe:
- Wyczyść kolumnę: wpisz
=USUŃ.ZBĘDNE.ODSTĘPY(A2)w kolumnie pomocniczej, skopiuj w dół, potem skopiuj ją i użyj Narzędzia główne > Wklej > Wartości na oryginale. - Usuń spacje z szukanej wartości, gdy są w tym, co wpisujesz:
=WYSZUKAJ.PIONOWO(USUŃ.ZBĘDNE.ODSTĘPY(D2);A2:B4;2;FAŁSZ). - Usuń spacje z całej przeszukiwanej kolumny wewnątrz formuły (Excel 2021 albo Microsoft 365):
=X.WYSZUKAJ(D2;USUŃ.ZBĘDNE.ODSTĘPY(A2:A4);B2:B4).
Tekst wklejony ze stron internetowych może zawierać twardą spację, której USUŃ.ZBĘDNE.ODSTĘPY nie usuwa. Strona o USUŃ.ZBĘDNE.ODSTĘPY (TRIM) pokazuje, jak zamienić ją przez PODSTAW(A2;ZNAK(160);" ").
#N/D!, gdy wartość nie jest w pierwszej kolumnie
WYSZUKAJ.PIONOWO przeszukuje tylko pierwszą kolumnę swojego zakresu i zwraca kolumnę na prawo od niej. Szukanie wartości z dowolnej innej kolumny zwraca #N/D!, nawet gdy jest ona w tabeli.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Code | Price | Code | VLOOKUP | XLOOKUP | |
| 2 | Apple | A-17 | 1.2 | P-22 | #N/A | Pear | |
| 3 | Pear | P-22 | 1.5 | ||||
| 4 | Plum | P-31 | 0.8 | ||||
| 5 | Bread | B-05 | 2.4 | ||||
| 6 | Milk | M-40 | 1.1 |
#N/A Szukanej wartości nie ma w zakresie wyszukiwania.W polskim Excelu: =WYSZUKAJ.PIONOWO(E2;A2:C6;1;FAŁSZ)Kody są w kolumnie B, więc WYSZUKAJ.PIONOWO na A2:C6 szuka P-22 wśród nazw produktów i zawodzi. Nie może też zwrócić nazwy produktu, która stoi przed kodem. X.WYSZUKAJ przyjmuje kolumnę przeszukiwaną i zwracaną osobno i znajduje Pear. W Excelu 2019 i wcześniejszych to samo robi =INDEKS(A2:A6;PODAJ.POZYCJĘ(E2;B2:B6;0)).
#N/D! przez liczby zapisane jako tekst
Numer zamówienia wpisany jako tekst ('1001 albo zaimportowany z pliku CSV) nigdy nie pasuje do liczby 1001 i odwrotnie. Obie komórki pokazują 1001, więc ten przypadek trudno zauważyć. W Excelu:
A2:B6 holds order numbers stored as text, E2 holds the number 1001
=VLOOKUP(E2,A2:B6,2,FALSE) #N/A
=VLOOKUP(E2&"",A2:B6,2,FALSE) found: E2&"" turns the number into text
A2:B6 holds real numbers, E2 holds "1001" as text
=VLOOKUP(E2,A2:B6,2,FALSE) #N/A
=VLOOKUP(--E2,A2:B6,2,FALSE) found: -- turns the text into a number
W polskim Excelu poprawki to =WYSZUKAJ.PIONOWO(E2&"";A2:B6;2;FAŁSZ) i =WYSZUKAJ.PIONOWO(--E2;A2:B6;2;FAŁSZ). =CZY.TEKST(A2) mówi, która strona jest tekstem, a mały zielony trójkąt w rogu komórki oznacza liczbę zapisaną jako tekst. Jak zamienić całą kolumnę, opisuje strona tekst na liczbę.
JEŻELI.ND czy JEŻELI.BŁĄD: komunikat, gdy nic nie znaleziono
Gdy wartości może zgodnie z prawdą brakować, pokaż coś bardziej użytecznego niż #N/D!. Użyj JEŻELI.ND (IFNA), a nie JEŻELI.BŁĄD (IFERROR):
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Price | Look for | IFNA | IFERROR | ||
| 2 | Apple | 1.2 | Pear | #REF! | Not found | ||
| 3 | Pear | 1.5 | |||||
| 4 | Plum | 0.8 | |||||
| 5 | Bread | 2.4 | |||||
| 6 | Milk | 1.1 |
#REF! Formuła odwołuje się do komórki, która nie istnieje.W polskim Excelu: =JEŻELI.ND(WYSZUKAJ.PIONOWO(E2;A2:B6;3;FAŁSZ);"Not found")Obie formuły proszą o kolumnę 3 zakresu z dwiema kolumnami, co jest błędem. JEŻELI.ND przepuszcza #REF!, więc widzisz pomyłkę. JEŻELI.BŁĄD ją ukrywa i mówi „Not found” dla Pear, która jest na liście. Zmień obie trójki na 2: teraz każda pokaże 1.5, a z E2 ustawionym na Kiwi każda pokaże „Not found”. X.WYSZUKAJ ma komunikat wbudowany: =X.WYSZUKAJ(E2;A2:A6;B2:B6;"Not found"). Więcej o różnicy na stronie JEŻELI.BŁĄD.
Naprawa wyszukiwania zepsutego przez spacje
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Price | Look for | Price | ||
| 2 | Apple | 1.2 | Plum | |||
| 3 | Pear | 1.5 | ||||
| 4 | Plum | 0.8 | ||||
| 5 | Bread | 2.4 | ||||
| 6 | Milk | 1.1 |
Twoja kolej: Każdy produkt na liście zaimportowano ze spacją na końcu, więc =VLOOKUP(E2,A2:B6,2,FALSE) zwraca #N/A. Napisz w F2 formułę, która mimo to zwróci cenę produktu z E2.
=X.WYSZUKAJ(E2;USUŃ.ZBĘDNE.ODSTĘPY(A2:A6);B2:B6) usuwa spacje z listy wewnątrz formuły. =WYSZUKAJ.PIONOWO(E2&" ";A2:B6;2;FAŁSZ) też tu działa, ale tylko dopóki każdy produkt ma dokładnie jedną spację na końcu; trwałą poprawką jest wyczyszczenie kolumny funkcją USUŃ.ZBĘDNE.ODSTĘPY.
Najczęściej zadawane pytania
Co oznacza #N/D! w Excelu?
#N/D! (po angielsku #N/A, od „not available”, czyli „niedostępne”) oznacza, że funkcja wyszukiwania (WYSZUKAJ.PIONOWO, WYSZUKAJ.POZIOMO, X.WYSZUKAJ, PODAJ.POZYCJĘ, X.DOPASUJ) nie znalazła podanej wartości. =BRAK() też zwraca ten błąd, celowo, na przykład po to, żeby wykres pominął punkt zamiast rysować go jako 0.
Dlaczego WYSZUKAJ.PIONOWO zwraca #N/D!, gdy wartość istnieje?
Obie wartości nie są dokładnie takie same. Typowe przyczyny: spacja na końcu jednej z nich, liczba zapisana jako tekst po jednej stronie i jako liczba po drugiej albo zakres tabeli bez $, który zjechał w dół przy kopiowaniu formuły, więc wiersz z wartością nie jest już w nim.
Dlaczego WYSZUKAJ.PIONOWO zwraca #N/D! w niektórych wierszach, a w innych nie?
Zakresu tabeli nie zablokowano przed skopiowaniem formuły w dół, więc w każdym wierszu zaczyna się o jeden wiersz niżej: A2:B6 w pierwszym wierszu zmienia się w A4:B8 dwa wiersze dalej, a wartości powyżej zakresu nie są już znajdowane. Zablokuj go znakami $: =WYSZUKAJ.PIONOWO(E2;$A$2:$B$6;2;FAŁSZ).
Dlaczego X.WYSZUKAJ zwraca #N/D!?
Wartości nie ma w przeszukiwanej tablicy albo różni się od niej spacją lub tym, że jest tekstem zamiast liczbą. X.WYSZUKAJ domyślnie dopasowuje dokładnie, więc nic podobnego nie zostaje przyjęte. Jej czwarty argument zastępuje błąd: =X.WYSZUKAJ(E2;A2:A6;B2:B6;"Not found").
Dlaczego PODAJ.POZYCJĘ zwraca #N/D!?
Przy typie dopasowania 0 wartości nie ma w zakresie, tak samo jak przy WYSZUKAJ.PIONOWO. Przy typie 1 albo pominiętym zakres musi być posortowany rosnąco, a wartość nie może być mniejsza niż jego pierwszy element; dla dopasowania dokładnego użyj =PODAJ.POZYCJĘ(E2;A2:A6;0).