Wyszukaj.pionowo – błąd #N/D

Witam,
W poprzednich postach opisałem jak wyszukiwać dane w tabelach za pomocą wyszukaj.pionowo. Jeżeli nie zapoznałeś się z tymi wpisami, zacznij proszę od nich, zanim przejdziesz do poniższego tekstu.
Dzisiaj przedstawię sytuację, w której funkcja wyszukaj.pionowo nie znajduje wyszukiwanych danych i zwraca błąd braku danych, wyświetlany jako #N/D.

Błąd #N/D

 W poprzednich przykładach wszystko szło gładko, wszystkie poszukiwane dane znajdowały się w przeszukiwanej tabeli i funkcja zwracała nam odpowiednie dane. W przykładowym pliku, który jest modyfikacją pierwszego przykładu, widzimy sprzedaż zabawek w pewnym sklepie na zakładce sprzedaż. Na zakładce towary znajdują się ich ceny. Kolejny raz użyjmy funkcji wyszukaj.pionowo, aby znaleźć ceny do towarów i podsumować sprzedaż. W komórce D2 wpisuję poniższą formułę i przeciągam ją do komórki D2.

=WYSZUKAJ.PIONOWO(B2;towary!A:B;2;0)

  Jeżeli masz wątpliwości, jak powstałą powyższa formuła, wróć proszę do poprzedniego wpisu. Funkcja zwróciła ceny dla wszystkich produktów oprócz towaru lalka. Szybki rzut okiem na zakładkę towary pozwala stwierdzić że tego produktu tam po prostu nie ma. Funkcja wyszukaj.pionowo zwraca więc błąd braku danych, ponieważ nie znalazło danych dla lalka.

Przykład błędy braku danych

  Dodatkowy problem jest widoczny w podsumowaniach. Funkcje sumujące nie mogą do siebie dodać odnalezionych danych do kodów błędów, więc po prostu powtarzają znaleziony błąd.

Usuwanie błędu #N/D

Metody radzenia sobie z tym błędem są dwie, poprzez uzupełnienie przeszukiwanych danych lub zastąpienie komunikatu o błędzie inną informacją.

Dodajmy więc do zakładki towary dodatkową linię, jak na poniższej ilustracji. Funkcja wyszukaj pionowo znajduje teraz dane dla lalka i zwraca odpowiednią wartość.

Lista cen, uzupełniona o brakujący towar

Inną metodą jest użycie funkcji JEŻELI.BŁĄD, która wygląda następująco:

=JEŻELI.BŁĄD(funkcja, która może zwrócić błąd; wartość, która ma być zwrócona zamiast kodu błędu)

Ostatecznie cała nasza formuła będzie wyglądać następująco dla komórki D2:

=JEŻELI.BŁĄD(WYSZUKAJ.PIONOWO(B2;towary!A:B;2;0);0)

Funkcja JEŻELI.BŁĄD zwróci wartość funckcji wyszukaj.pionowo za każdym razem, kiedy będzie ona prawidłowa, lub zastąpi ją zerem, kiedy wystąpi błąd.

Oczywiście zamiast zera w powyższej funkcji możemy zwrócić dowolną inną wartość liczbową lub tekst, co ma większy sens w tym przypadku.

=JEŻELI.BŁĄD(WYSZUKAJ.PIONOWO(B2;towary!A:B;2;0);”Brak ceny dla towaru”)

W kolejnym wpisie na blogu przedstawię częstą sytuację, w której porównywane dane wyglądają identycznie, jednak funkcja wyszukaj.pionowo uporczywie zwraca błąd #N/D.

Comments 9

  1. Witam, jak poradzić sobie z problemem:
    mam plik z zapisanymi danymi w 2 arkuszach; w pierwszym arkuszu mam w pierwszej kolumnie 1,2,3,4,5; w drugim arkuszu mam przypisane losowo wartości literowe do liczb np:
    kolumna 1 kolumna 2
    1 a
    2 c
    3 a
    1 b
    2 a

    zależy mi aby w pierwszym arkuszu obok wartości 1 pojawiła się informacja: a, b, obok wartości 2 c, a, itd

    próbowałam wyszukiwanie pionowe jednak przy wartości fałsz zwraca tylko pierwszą wyszukaną wartość, a zależy mi na wyszukaniu wszystkich.
    Proszę o pomoc

  2. Witam
    W odniesieniu do ostatniego zdania w tym poście, czy padło wyjaśnienie co do sytuacji kiedy funkcja wyszukaj.pionowo uporczywie zwraca błąd #N/D. Niestety nie mogę znaleźć tego w archiwum z lutego i marca 2011.

    Mam sytuację w której do części danych system przypisuje mi wyszukane wartości a przy części zwraca #N/D, pomimo tego że są dane które powinny być przypisane.
    Bardzo proszę o pomoc

    Dziękuję
    Weronika

  3. Polecam dokładnie sprawdzić, czy szukane dane w obu arkuszach są takie same. Liczby sformatowane jako tekst i jako liczby są dla wyszukaj.pionowo czymś innym. Jeżeli poszukiwany jest tekst i jest w nim na końcu "biały" znak (np. spacja) to dla nas wygląda tak samo jak bez tego znaku, ale dla wyszukaj.pionowo to już różne wartości. Należy też pamiętać, że wyszukaj.pionowo wyszukuje według wartości komórki, a nie tego jak wygląda. Jeżeli komórkę sformatujemy jako liczbę z dwoma miejscami po przecinku, to 2,344 będzie wyglądać tak samo jak 2,342, ale dla wyszukaj.pionowo to różne wartości.

  4. Wyszukaj.pionowo to funkcja powodująca wiele błędów w arkuszach. Do prawidłowego tworzenia relacji pomiędzy rejestrami danych stosuje się kombinację funkcji index i podaj.pozycję

Skomentuj Michał Sasiński Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *