Menu

Błąd #N/D! (#N/A) w Excelu: WYSZUKAJ.PIONOWO nie znajduje

#N/D! oznacza, że wyszukiwanie nie znalazło szukanej wartości. Sprawdź literówki, nadmiarowe spacje i zakres tabeli, który przesunął się przy kopiowaniu formuły w dół, a potem użyj JEŻELI.ND, aby pokazać komunikat dla wartości, których naprawdę brakuje.

Każdy arkusz na tej stronie działa na żywo: zmień liczbę albo formułę, a się przeliczy.

#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.

Wyszukiwanie produktu, którego nie ma
F2
ABCDEF
1ProductPriceLook forPrice
2Apple1.2Kiwi#N/A
3Pear1.5
4Plum0.8
5Bread2.4
6Milk1.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.

Zakres tabeli bez $
F4
ABCDEF
1ProductPriceOrderPrice
2Apple1.2Apple1.2
3Pear1.5Plum0.8
4Plum0.8Pear#N/A
5Bread2.4Milk1.1
6Milk1.1Apple#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.

Spacja na końcu w tabeli
E2
ABCDEF
1ProductPriceLook forPriceLength of A2
2Pear 1.5Pear#N/A5
3Apple1.2
4Plum0.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.

Wyszukiwanie po kodzie
F2
ABCDEFG
1ProductCodePriceCodeVLOOKUPXLOOKUP
2AppleA-171.2P-22#N/APear
3PearP-221.5
4PlumP-310.8
5BreadB-052.4
6MilkM-401.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):

JEŻELI.ND a JEŻELI.BŁĄD wokół zepsutego wyszukiwania
F2
ABCDEFG
1ProductPriceLook forIFNAIFERROR
2Apple1.2Pear#REF!Not found
3Pear1.5
4Plum0.8
5Bread2.4
6Milk1.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

Znajdź cenę mimo spacji
F2
ABCDEF
1ProductPriceLook forPrice
2Apple 1.2Plum
3Pear 1.5
4Plum 0.8
5Bread 2.4
6Milk 1.1
Kliknij komórkę, aby zobaczyć jej formułę. Zmień liczbę albo formułę, a arkusz przeliczy się na nowo.

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).

Ilustracja języków programowania w Coddy

Ucz się programowania z Coddy

ZACZNIJ