W tym temacie opisano najbardziej typowe przyczyny błędnego wyniku funkcji WYSZUKAJ.WYSZUKAJ. Zamiast tego przedstawiono sugestie dotyczące używania funkcji INDEKS i MATCH.

Porada: Zapoznaj się również z podręczną kartą informacyjną: Porady dotyczące rozwiązywania problemów z funkcjami WYSZUKAJ.WYSZUKAJ.V.ODW, które przedstawiono typowe przyczyny #NA problemów z wygodnym plikiem PDF. Plik PDF możesz udostępnić innym osobom lub wydrukować go do własnego użytku.

Problem: szukana wartość nie znajduje się w pierwszej kolumnie argumentu tabela_tablica

Jednym z ograniczeń funkcji WYSZUKAJ.VLOOKUP jest to, że może ona szukać wartości tylko w najbardziej lewej kolumnie w tablicy tabeli. Jeśli odnośnik nie znajduje się w pierwszej kolumnie tablicy, zobaczysz błąd #N/A.

W poniższej tabeli chcemy pobrać liczbę sprzedanych jednostek jarmużu.

Błąd #N/D! w funkcji WYSZUKAJ.PIONOWO: szukana wartość nie znajduje się w pierwszej kolumnie w tabeli-tablicy

Wynik #N/D!, ponieważ wartość odnośnika "Jarmuż" jest wyświetlana w drugiej kolumnie (Produkcja) table_array A2:C10. W tym przypadku Excel kolumny A, a nie B.

Rozwiązanie:Możesz spróbować rozwiązać ten problem, dostosowując wyszukaj.WYSZUKAJ.WYSZUKAJ, aby odwołać się do odpowiedniej kolumny. Jeśli nie jest to możliwe, spróbuj przenosić kolumny. Może to być również bardzo niepraktyczne, jeśli masz duże lub złożone arkusze kalkulacyjne, w których wartości komórek są wynikami innych obliczeń— lub istnieją inne logiczne powody, dla których po prostu nie możesz przenieść kolumn. Rozwiązaniem jest użycie połączenia funkcji INDEKS i MATCH, które mogą szukać wartości w kolumnie niezależnie od jej położenia w tabeli odnośników. Zobacz następną sekcję.

Zamiast tego warto rozważyć użycie funkcji INDEKS/MATCH

Funkcja INDEKS i MATCH to dobre opcje dla wielu przypadków, w których funkcja WYSZUKAJ.V.WYSZUKAJ nie spełnia określonych wymagań. Kluczową zaletą funkcji INDEKS/MATCH jest możliwość wyszukiwania wartości w kolumnie w dowolnej lokalizacji w tabeli odnośników. Funkcja INDEKS zwraca wartość z określonej tabeli/zakresu zgodnie z jej położeniem. Funkcja MATCH zwraca względną pozycję wartości w tabeli/zakresie. Użyj funkcji INDEKS i PODAJ.POZYCJĘ razem w formule, aby szukać wartości w tabeli/tablicy, określając względną pozycję wartości w tabeli/tablicy.

Używanie funkcji INDEKS/MATCH zamiast funkcji WYSZUKAJ.V.WYSZUKAJ ma kilka korzyści:

  • W przypadku funkcji INDEKS i MATCH zwracana wartość nie musi być w tej samej kolumnie co kolumna odnośnika. Różni się to od funkcji WYSZUKAJ.V.WYSZUKAJ, w której zwracana wartość musi się znaleźć w określonym zakresie. Dlaczego jest to ważne? W przypadku używania funkcji WYSZUKAJ.PIONOWO musisz znać numer kolumny zawierającej zwracaną wartość. Chociaż może to wydawać się niesłyszące, może być uciążliwe, jeśli masz dużą tabelę i musisz zliczyć liczbę kolumn. Ponadto jeśli dodasz/usuniesz kolumnę w tabeli, musisz ponownie przeliczyć i zaktualizować col_index_num tabeli. W przypadku funkcji INDEKS i PODAJ.POZYCJĘ liczenie nie jest wymagane, ponieważ kolumna wyszukiwania różni się od kolumny zwierającej zwracaną wartość.

  • Za pomocą funkcji INDEKS i PODAJ.WARTOŚĆ można określić wiersz lub kolumnę w tablicy albo określić oba te argumenty. Oznacza to, że możesz wyszukiwać wartości pionowo i poziomo.

  • Funkcji INDEKS i PODAJ.POZYCJĘ można użyć do wyszukiwania wartości w dowolnej kolumnie. W przeciwieństwie do funkcji WYSZUKAJ.V.WYSZUKAJ, w której można szukać tylko wartości w pierwszej kolumnie tabeli, funkcja INDEKS i MATCH będzie działać, jeśli odnośnik znajduje się w pierwszej kolumnie, ostatniej kolumnie lub w dowolnym miejscu między nimi.

  • Usługi INDEKS i MATCH zapewniają elastyczność w zakresie tworzenia dynamicznych odwoływać się do kolumny zawierającej zwracaną wartość. Oznacza to, że można dodawać kolumny do tabeli bez łamania indeksów i match. Z drugiej strony, jeśli musisz dodać kolumnę do tabeli, funkcja WYSZUKAJ.WYSZUKAJ.WYSZUKAJ jest przerywana, ponieważ zawiera statyczne odwołanie do tabeli.

  • Dzięki dopasowaniom indeks i MATCH zapewnia większą elastyczność. W funkcji INDEKS i MATCH można znaleźć dokładne dopasowanie lub wartość większą lub mniejszą niż wartość odnośnika. Funkcja WYSZUKAJ.WYSZUKAJ.WYSZUKAJ będzie szukać tylko najbliższego dopasowania do wartości (domyślnie) lub dokładnej wartości. Funkcja WYSZUKAJ.WYSZUKAJ.WYSZUKAJ zakłada również domyślnie, że pierwsza kolumna w tablicy jest posortowana alfabetycznie i załóżmy, że tabela nie jest w ten sposób ustawiona, funkcja WYSZUKAJ.V.WYSZUKAJ zwróci pierwsze najbliższe dopasowanie w tabeli, które może nie być danymi, których szukasz.

Składnia

Aby skonstruować składnię dla funkcji INDEKS/MATCH, należy użyć argumentu tablica/odwołanie z funkcji INDEKS i zagnieździć składnię funkcji MATCH wewnątrz tego argumentu. Ten formularz:

=INDEKS(tablica lub odwołanie;PODAJ.POZYCJĘ(szukana_wartość;przeszukiwana_tablica;[typ_porównania])

Użyjmy funkcji INDEKS/MATCH, aby zastąpić funkcji WYSZUKAJ.WYSZUKAJ.V.ODW z powyższego przykładu. Składnia wygląda następująco:

=INDEKS(C2:C10;PODAJ.POZYCJĘ(B13;B2:B10;0))

Mówiąc prosto, oznacza to:

=INDEKS(zwróć wartość z C2:C10, która zwróci wartość MATCH(Jarmuż, która znajduje się gdzieś w tablicy B2:B10, w której zwrócona wartość jest pierwszą wartością odpowiadającą wartości Jarmuż))

Funkcji INDEKS i PODAJ.POZYCJĘ można używać w zastępstwie funkcji WYSZUKAJ.PIONOWO

Formuła wyszukuje pierwszą wartość w zakresie C2:C10, która odpowiada wartości Jarmuż (w komórce B7) i zwraca wartość w komórce C7 (100), która jest pierwszą wartością pasującą do wartości Jarmuż.

Problem: nie można znaleźć dokładnego dopasowania

Jeśli argument range_lookup ma wartość FAŁSZ — i funkcja WYSZUKAJ.POZIOMO nie może znaleźć dokładnego dopasowania w danych — zwraca wartość błędu #N/D!.

Rozwiązanie:Jeśli masz pewność, że odpowiednie dane już znajdują się w arkuszu kalkulacyjnym i funkcja WYSZUKAJ.WYSZUKAJ.WYSZUKAJ ich nie znajduje, poeksumuj czas, aby sprawdzić, czy komórki, do których się odwołujesz, nie mają ukrytych spacji ani znaków niedrukownych. Upewnij się też, że komórki mają poprawny typ danych. Na przykład komórki z liczbami powinny być sformatowane jako Liczba,a nie Tekst.

Rozważ też oczyszczenie danych w komórkach przy użyciu funkcji OCZYŚĆ lub WYCZYŚĆ.

Problem: szukana wartość jest mniejsza niż najmniejsza wartość w tablicy

Jeśli argument range_lookup ma wartość PRAWDA, a odnośnik jest mniejszy niż najmniejsza wartość w tablicy, zobaczysz błąd #N/A. Wartość PRAWDA spowoduje wyszukiwanie przybliżonego dopasowania w tablicy i zwrócenie najbliższej wartości mniejszej od szukanej wartości.

W poniższym przykładzie szukana wartość to 100, ale w zakresie B2:C10 nie ma wartości mniejszych od 100, dlatego zostaje wyświetlony błąd.

Błąd N/D! w funkcji WYSZUKAJ.PIONOWO, gdy szukana wartość jest mniejsza niż najmniejsza wartość w tablicy

Rozwiązanie:

  • Wymagana jest prawidłowa szukana wartość.

  • Jeśli nie możesz zmienić wartości odnośnika i potrzebujesz większej swobody w zakresie dopasowywania wartości, rozważ użycie funkcji INDEKS/MATCH zamiast funkcji WYSZUKAJ.VLOOKUP — zobacz sekcję powyżej w tym artykule. Z funkcjami INDEKS/PODAJ.POZYCJĘ możesz wyszukać wartości większe, mniejsze lub równe szukanej wartości. Aby uzyskać więcej informacji o używaniu funkcji INDEKS/PODAJ.POZYCJĘ zamiast funkcji WYSZUKAJ.PIONOWO, zobacz poprzednią sekcję tego tematu.

Problem: kolumna wyszukiwania nie jest sortowana w kolejności rosnącej

Jeśli argument range_lookup ma wartość PRAWDA, a jedna z kolumn odnośnika nie jest sortowana w kolejności rosnącej (A–Z), zostanie wyświetlony błąd #N/D!.

Rozwiązanie:

  • Zmień funkcję WYSZUKAJ.PIONOWO, aby wyszukiwała dokładne dopasowanie. Aby to zrobić, ustaw argument przeszukiwany_zakres na wartość FAŁSZ. W przypadku fałszu nie jest konieczne sortowanie.

  • Użyj funkcji INDEKS/PODAJ.POZYCJĘ, aby wyszukać wartość w niesortowanej tabeli.

Problem: wartość jest dużą liczbą zmiennoprzecinkową

Jeśli w komórkach są wartości czasu lub duże liczby dziesiętne, funkcja Excel zwraca wartość #N/A z powodu dokładności punktowej. Liczby zmiennoprzecinkowy to liczby następujące po separatorze dziesiętnym. (Excel wartości czasu są przechowywane jako liczby zmiennoprzecinek. Excel nie można przechowywać liczb z bardzo dużymi punktami przestawnych, więc aby funkcja działała prawidłowo, liczby zmiennoprzecinkowy muszą zostać zaokrąglone do 5 miejsc dziesiętnych.

Rozwiązanie: Skróć liczby, zaokrąglając je do maksymalnie pięciu miejsc dziesiętnych, za pomocą funkcji ZAOKR.

Potrzebujesz dodatkowej pomocy?

Zawsze możesz zadać pytanie ekspertowi w społeczności technicznej programu Excel lub uzyskać pomoc techniczną w społeczności witryny Answers.

Zobacz też

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Jak zadowalająca jest jakość tłumaczenia?
Co wpłynęło na Twoje wrażenia?

Dziękujemy za opinię!

×