W skrócie
- WYSZUKAJ.PIONOWO (ang. VLOOKUP) odnajduje wartość w pierwszej kolumnie tabeli i zwraca dane z tego samego wiersza, ze wskazanej kolumny.
- Składnia:
=WYSZUKAJ.PIONOWO(szukana_wartość; tabela_tablica; nr_indeksu_kolumny; [przeszukiwany_zakres]). - Czwarty argument decyduje o trybie: FAŁSZ - dopasowanie dokładne, PRAWDA lub brak argumentu - dopasowanie przybliżone. Przy wyszukiwaniu po kodzie lub nazwie zawsze wpisuj FAŁSZ.
- Główne ograniczenia: nie szuka w lewo, numer kolumny jest wpisany na sztywno, zwraca tylko pierwsze trafienie i jest wrażliwa na spacje oraz liczby zapisane jako tekst.
- Nowocześniejsze alternatywy to X.WYSZUKAJ (Excel 2021 i nowsze) oraz INDEKS + PODAJ.POZYCJĘ (każda wersja).
Cennik, rejestr kontrahentów, wykaz pracowników, słownik kodów - w niemal każdej organizacji istnieje tabela, z której regularnie trzeba „dociągać" informacje do innego zestawienia. Ręczne wyszukiwanie i przepisywanie takich danych jest czasochłonne i obarczone ryzykiem pomyłki. Do automatyzacji tego zadania od lat służy funkcja WYSZUKAJ.PIONOWO.
Funkcja jest dostępna w każdej wersji Excela, dlatego pozostaje standardem w wielu firmach i urzędach - nawet tam, gdzie dostępna jest już nowsza funkcja X.WYSZUKAJ. Warto ją jednak znać dokładnie, bo większość problemów, z którymi zgłaszają się uczestnicy szkoleń, nie wynika z samej funkcji, lecz z nieznajomości jej zasad działania.
Co robi funkcja WYSZUKAJ.PIONOWO
WYSZUKAJ.PIONOWO działa jak wyszukiwanie w słowniku lub książce telefonicznej. Podajesz wartość, którą znasz (np. kod produktu), a funkcja:
- przeszukuje pierwszą kolumnę wskazanej tabeli z góry na dół,
- zatrzymuje się na pierwszym wierszu, w którym znajdzie tę wartość,
- zwraca zawartość komórki z tego wiersza, z kolumny o wskazanym numerze.
Słowo „pionowo" w nazwie odnosi się właśnie do kierunku przeszukiwania - w dół kolumny. Jej odpowiednikiem dla danych ułożonych w wierszach jest WYSZUKAJ.POZIOMO, która przeszukuje pierwszy wiersz tabeli.
Składnia i argumenty
"P-104") lub, znacznie częściej, jako odwołanie do komórki.⚠️ Najważniejsza pułapka: czwarty argument
Jeśli pominiesz czwarty argument, Excel przyjmie PRAWDA, czyli dopasowanie przybliżone. Przy nieposortowanych danych funkcja może wtedy zwrócić błędny wynik bez żadnego komunikatu o błędzie - to najgroźniejsza sytuacja, bo nikt jej nie zauważa. Przy wyszukiwaniu po kodzie, numerze czy nazwisku zawsze wpisuj FAŁSZ.
W polskiej wersji Excela argumenty rozdziela się średnikiem. Przecinek (spotykany w anglojęzycznych poradnikach) jest u nas separatorem dziesiętnym i spowoduje błąd formuły.
Dane do przykładów
Wszystkie przykłady w artykule opierają się na tej samej tabeli - wykazie produktów w zakresie A1:E7. Obok, w kolumnach H–I, znajduje się pole, do którego wpisujemy kod szukanego produktu.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Kod | Produkt | Kategoria | Cena netto | Stan |
| 2 | P-101 | Monitor 27" | Elektronika | 1 249,00 zł | 14 |
| 3 | P-102 | Klawiatura bezprzewodowa | Akcesoria | 189,00 zł | 52 |
| 4 | P-103 | Laptop 15,6" | Elektronika | 3 899,00 zł | 7 |
| 5 | P-104 | Krzesło biurowe | Meble | 649,00 zł | 21 |
| 6 | P-105 | Biurko regulowane | Meble | 1 590,00 zł | 5 |
| 7 | P-106 | Mysz optyczna | Akcesoria | 79,00 zł | 88 |
Jak działa - krok po kroku
Załóżmy, że w komórce H2 wpisano kod P-104 i chcemy poznać cenę tego produktu. Formuła w komórce I2:
Excel wykonuje trzy kroki:
- Przeszukuje kolumnę A (pierwszą kolumnę zakresu) od góry i znajduje „P-104" w wierszu 5 (żółte pole).
- Liczy kolumny w obrębie zakresu: A = 1, B = 2, C = 3, D = 4.
- Zwraca wartość z przecięcia znalezionego wiersza i 4. kolumny (zielone pole).
| A (1) | B (2) | C (3) | D (4) | E (5) | |
|---|---|---|---|---|---|
| 2 | P-101 | Monitor 27" | Elektronika | 1 249,00 zł | 14 |
| 3 | P-102 | Klawiatura bezprzewodowa | Akcesoria | 189,00 zł | 52 |
| 4 | P-103 | Laptop 15,6" | Elektronika | 3 899,00 zł | 7 |
| 5 | P-104 | Krzesło biurowe | Meble | 649,00 zł | 21 |
| 6 | P-105 | Biurko regulowane | Meble | 1 590,00 zł | 5 |
| 7 | P-106 | Mysz optyczna | Akcesoria | 79,00 zł | 88 |
💡 Dlaczego $A$2:$E$7, a nie A2:E7?
Znaki dolara tworzą odwołanie bezwzględne. Dzięki nim po skopiowaniu formuły w dół zakres tabeli pozostaje nieruchomy, a przesuwa się tylko odwołanie do szukanej wartości. Bez blokady zakres „zjeżdża" razem z formułą i w dolnych wierszach pojawiają się błędy #N/D!. Blokadę najszybciej wstawia klawisz F4 po zaznaczeniu zakresu w formule.
Przykłady praktyczne
Uzupełnianie zamówienia danymi z cennika
Najczęstsze zastosowanie: w arkuszu zamówienia wpisujesz jedynie kody, a nazwy i ceny są pobierane automatycznie z wykazu produktów. W wierszu 2 zamówienia (kod w kolumnie A arkusza Zamówienie) formuły wyglądają tak:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Kod | Produkt (formuła) | Cena (formuła) | Ilość | Wartość |
| 2 | P-103 | Laptop 15,6" | 3 899,00 zł | 2 | 7 798,00 zł |
| 3 | P-106 | Mysz optyczna | 79,00 zł | 5 | 395,00 zł |
| 4 | P-104 | Krzesło biurowe | 649,00 zł | 3 | 1 947,00 zł |
Gdy zmieni się cena w wykazie produktów, wszystkie zamówienia oparte na formule zaktualizują się samoczynnie. Uwaga: w arkuszach, które mają zachować cenę z dnia wystawienia dokumentu, wynik warto utrwalić (Kopiuj → Wklej specjalnie → Wartości).
Dopasowanie przybliżone - rabat według progów wartości
Tryb przybliżony ma jedno, bardzo użyteczne zastosowanie: przypisywanie wartości do przedziałów - progów rabatowych, stawek prowizji, skal ocen czy przedziałów podatkowych. Tabela progów w zakresie K2:L6:
| K - Próg od | L - Rabat | |
|---|---|---|
| 2 | 0 zł | 0% |
| 3 | 1 000 zł | 3% |
| 4 | 5 000 zł | 5% |
| 5 | 10 000 zł | 8% |
| 6 | 25 000 zł | 12% |
Wartości 7 400 zł nie ma w tabeli, więc funkcja zwraca wiersz z największym progiem nieprzekraczającym szukanej wartości - 5 000 zł, czyli rabat 5%. Jedna formuła zastępuje tu kilka zagnieżdżonych funkcji JEŻELI. Warunek: pierwsza kolumna musi być posortowana rosnąco.
Czytelny komunikat zamiast błędu #N/D!
Gdy kod nie istnieje w wykazie (np. „P-110"), funkcja zwraca błąd #N/D!. W raportach dla innych osób lepiej zastąpić go zrozumiałym komunikatem:
Stosuj to rozwiązanie z rozwagą: JEŻELI.BŁĄD ukrywa każdy błąd, także ten wynikający ze źle zbudowanej formuły (np. #ADR!). Precyzyjniejsza jest funkcja JEŻELI.ND, która przechwytuje wyłącznie brak wyniku (#N/D!), a pozostałe błędy pozostawia widoczne.
Wyszukiwanie po fragmencie tekstu
W trybie dokładnym (FAŁSZ) można stosować symbole wieloznaczne: gwiazdka * zastępuje dowolny ciąg znaków, znak zapytania ? - jeden znak. Aby znaleźć cenę pierwszego produktu, którego nazwa zaczyna się od „Laptop", przeszukujemy zakres zaczynający się od kolumny B:
Zwróć uwagę na numer kolumny: skoro zakres zaczyna się od B, to cena (kolumna D) jest w nim kolumną trzecią. Numer kolumny liczy się zawsze od lewej krawędzi zaznaczonego zakresu. Jeśli potrzebujesz wyszukać sam znak * lub ?, poprzedź go tyldą ~.
Komunikaty błędów i ich przyczyny
| Błąd | Znaczenie | Typowa przyczyna |
|---|---|---|
| #N/D! | Nie znaleziono szukanej wartości | Brak wartości w pierwszej kolumnie, spacje, liczba zapisana jako tekst, przesunięty zakres po skopiowaniu formuły |
| #ADR! | Numer kolumny wykracza poza tabelę | Np. nr_indeksu_kolumny = 6 przy zakresie obejmującym 5 kolumn |
| #ARG! | Nieprawidłowy argument | Numer kolumny mniejszy niż 1 lub szukana wartość dłuższa niż 255 znaków |
| #NAZWA? | Excel nie rozpoznaje nazwy | Literówka w nazwie funkcji albo tekst wpisany bez cudzysłowu |
Kiedy WYSZUKAJ.PIONOWO nie zadziała
To najważniejsza część artykułu. Funkcja działa niezawodnie tylko przy spełnieniu kilku warunków, a ich naruszenie często nie daje żadnego komunikatu - po prostu wynik jest nieprawidłowy. Poniżej ograniczenia, z którymi spotykam się najczęściej, wraz ze sposobami ich obejścia.
1. Nie szuka w lewo
Funkcja przeszukuje wyłącznie pierwszą kolumnę zakresu i zwraca dane z kolumn położonych na prawo. W naszym wykazie nie da się nią znaleźć kodu na podstawie nazwy produktu, bo kod (kolumna A) znajduje się na lewo od nazwy (kolumna B). Rozwiązanie: kombinacja INDEKS i PODAJ.POZYCJĘ lub funkcja X.WYSZUKAJ:
2. Numer kolumny wpisany na sztywno
Liczba 4 w formule nie „wie", że chodzi o kolumnę z ceną. Jeśli ktoś wstawi nową kolumnę między A a D (np. „Producent"), cena przesunie się na piątą pozycję, a formuła bez żadnego ostrzeżenia zacznie zwracać dane z kolumny „Kategoria". To jedna z najczęstszych przyczyn cichych błędów w raportach. Zabezpieczenie: wyznaczanie numeru kolumny funkcją PODAJ.POZYCJĘ na podstawie nagłówka albo przejście na X.WYSZUKAJ, która wskazuje kolumnę wyniku bezpośrednio.
3. Pominięty czwarty argument przy nieposortowanych danych
Jak opisałem wyżej, brak argumentu oznacza dopasowanie przybliżone. Przy nieposortowanej tabeli funkcja może zwrócić dane z zupełnie innego wiersza. Zasada jest prosta: FAŁSZ zawsze, chyba że świadomie pracujesz na przedziałach.
4. Zwraca tylko pierwsze wystąpienie
Jeśli szukana wartość powtarza się w pierwszej kolumnie (np. ten sam kontrahent w wielu wierszach), funkcja zwróci dane wyłącznie z pierwszego trafienia, a pozostałe pominie. Do pobrania wszystkich pasujących wierszy służy funkcja FILTRUJ (Excel 2021 i nowsze), a do ich zsumowania - SUMA.WARUNKÓW.
5. Liczby zapisane jako tekst i zbędne spacje
Dla Excela liczba 104 i tekst „104" to dwie różne wartości, podobnie jak „P-104" i „P-104 " ze spacją na końcu. Dane importowane z systemów dziedzinowych bardzo często zawierają takie niezgodności - wynikiem jest #N/D!, mimo że wartość „wizualnie" jest w tabeli. Rozwiązania: usunięcie spacji funkcją USUŃ.ZBĘDNE.ODSTĘPY, ujednolicenie typu danych (np. funkcją WARTOŚĆ lub narzędziem Tekst jako kolumny) albo oczyszczenie danych w Power Query.
6. Nie rozróżnia wielkości liter
Dla funkcji „abc-1" i „ABC-1" to ta sama wartość. W kodach, w których wielkość liter ma znaczenie, trzeba zastosować rozwiązanie oparte na funkcji PORÓWNAJ.
7. Limit 255 znaków
Szukana wartość nie może przekraczać 255 znaków - przy dłuższych opisach funkcja zwraca błąd #ARG!. W praktyce problem dotyczy wyszukiwania po długich nazwach lub opisach i rozwiązuje się go, szukając po krótszym identyfikatorze.
🔑 Lista kontrolna przed użyciem: szukana wartość jest w pierwszej kolumnie zakresu · zakres jest zablokowany znakami $ · czwarty argument to FAŁSZ · numer kolumny liczony od lewej krawędzi zakresu · typy danych (liczba/tekst) w obu miejscach są zgodne.
Alternatywy: X.WYSZUKAJ oraz INDEKS i PODAJ.POZYCJĘ
| Cecha | WYSZUKAJ.PIONOWO | INDEKS + PODAJ.POZYCJĘ | X.WYSZUKAJ |
|---|---|---|---|
| Dostępność | Każda wersja | Każda wersja | Excel 2021, 2024, Microsoft 365 |
| Wyszukiwanie w lewo | Nie | Tak | Tak |
| Odporność na wstawianie kolumn | Nie | Tak | Tak |
| Domyślne dopasowanie | Przybliżone | Zależne od argumentu | Dokładne |
| Wbudowana obsługa braku wyniku | Nie | Nie | Tak |
| Złożoność zapisu | Niska | Średnia | Niska |
Jeśli Twoja organizacja pracuje na Excelu 2021 lub nowszym, w nowych arkuszach warto stosować X.WYSZUKAJ - szczegółowe porównanie obu funkcji znajdziesz w artykule X.WYSZUKAJ vs WYSZUKAJ.PIONOWO. Znajomość WYSZUKAJ.PIONOWO pozostaje jednak niezbędna: funkcja występuje w tysiącach istniejących plików, a pliki przekazywane odbiorcom korzystającym ze starszych wersji Excela muszą się na niej opierać. To, w której wersji dostępna jest dana funkcja, omawiam w porównaniu wersji Excela.
Podsumowanie
WYSZUKAJ.PIONOWO to funkcja prosta w zapisie, ale wymagająca dyscypliny w stosowaniu. Szuka wyłącznie w pierwszej kolumnie zakresu, zwraca dane z kolumny o wskazanym numerze i tylko z pierwszego trafienia. Większość problemów wynika z trzech zaniedbań: pominiętego argumentu FAŁSZ, niezablokowanego zakresu i niezgodnych typów danych. Po wyeliminowaniu tych błędów funkcja staje się niezawodnym narzędziem do łączenia rejestrów, cenników i słowników - a jej ograniczenia są jednocześnie najlepszym wprowadzeniem do nowocześniejszej funkcji X.WYSZUKAJ.
Najczęściej zadawane pytania
Dlaczego WYSZUKAJ.PIONOWO zwraca błąd #N/D!?
Błąd #N/D! oznacza, że szukanej wartości nie znaleziono w pierwszej kolumnie tabeli. Najczęstsze przyczyny to rzeczywisty brak wartości, dodatkowe spacje, liczby zapisane jako tekst lub przesunięty, niezablokowany zakres tabeli po skopiowaniu formuły.
Czy WYSZUKAJ.PIONOWO może szukać w lewo?
Nie. Funkcja przeszukuje wyłącznie pierwszą kolumnę tabeli i zwraca wartość z kolumny położonej na prawo. Do wyszukiwania w lewo służy kombinacja INDEKS i PODAJ.POZYCJĘ albo funkcja X.WYSZUKAJ.
Co oznacza PRAWDA i FAŁSZ w ostatnim argumencie?
FAŁSZ oznacza dopasowanie dokładne. PRAWDA lub pominięcie argumentu oznacza dopasowanie przybliżone - funkcja zwraca największą wartość mniejszą lub równą szukanej, co wymaga posortowania pierwszej kolumny rosnąco. Przy wyszukiwaniu po kodzie lub nazwie należy zawsze wpisywać FAŁSZ.
Czym zastąpić WYSZUKAJ.PIONOWO?
W Excelu 2021, 2024 i Microsoft 365 - funkcją X.WYSZUKAJ, która szuka w obu kierunkach i domyślnie stosuje dopasowanie dokładne. We wszystkich wersjach można użyć kombinacji INDEKS i PODAJ.POZYCJĘ.