VLOOKUP (po polsku WYSZUKAJ.PIONOWO) to jedna z najczęściej używanych funkcji Excela, która przeszukuje pierwszą kolumnę tabeli i zwraca wartość z tego samego wiersza we wskazanej kolumnie. Opanowanie jej w 15 minut całkowicie zmienia sposób pracy z danymi — zamiast ręcznie przepisywać ceny, numery zamówień czy nazwiska między arkuszami, robisz to jedną formułą.
W skrócie
- Składnia:
=WYSZUKAJ.PIONOWO(szukana_wartość; tabela_tablica; nr_kolumny; [przeszukiwany_zakres])- Cztery argumenty: co szukasz, gdzie szukasz, z której kolumny zwrócić wynik i czy dopasowanie ma być dokładne (FAŁSZ / 0) czy przybliżone (PRAWDA / 1)
- Kluczowe ograniczenie: szukana wartość musi być w pierwszej (najbardziej lewej) kolumnie zakresu — VLOOKUP nie potrafi szukać w lewo
- Działa we wszystkich wersjach Excela: Excel 365, Excel 2024, Excel 2021, Excel 2019, Excel 2016 oraz Excel w przeglądarce i na Macu
- Od Excela 2021 Microsoft zaleca nowszą funkcję XLOOKUP (X.WYSZUKAJ) — nie ma ograniczenia kierunku wyszukiwania i domyślnie zwraca dopasowanie dokładne
- Najczęstszy błąd:
#N/D!— oznacza, że szukana wartość nie istnieje w pierwszej kolumnie (albo jest w niej jako tekst zamiast liczby)
Czym jest VLOOKUP i kiedy go używać
VLOOKUP (ang. vertical lookup) to funkcja wyszukująca pionowo — przegląda wartości w dół pierwszej kolumny zdefiniowanego zakresu, a gdy znajdzie dopasowanie, zwraca zawartość komórki z tego samego wiersza, ale z innej kolumny. To najprostszy sposób na połączenie danych z dwóch tabel, które mają wspólny identyfikator.
Typowe scenariusze użycia VLOOKUP:
- Masz tabelę z cenami produktów i chcesz automatycznie wypełnić cenę w drugiej tabeli na podstawie kodu produktu
- Masz listę pracowników z ID i chcesz szybko znaleźć ich dział lub stanowisko po ID
- Budujesz fakturę — wpisujesz kod produktu, a VLOOKUP sam uzupełnia nazwę, cenę jednostkową i stawkę VAT
- Łączysz dane z dwóch arkuszy (np. "Sprzedaż" i "Magazyn") po numerze zamówienia
VLOOKUP a XLOOKUP — którą funkcję wybrać w 2026 roku?
| Cecha | VLOOKUP (WYSZUKAJ.PIONOWO) | XLOOKUP (X.WYSZUKAJ) |
|---|---|---|
| Dostępność | Wszystkie wersje Excela (od Excel 2007) | Excel 365, Excel 2024, Excel 2021, Excel w sieci Web |
| Kierunek wyszukiwania | Tylko od lewej do prawej (szukana wartość w 1. kolumnie) | Dowolny — także w lewo od kolumny przeszukiwanej |
| Domyślne dopasowanie | Przybliżone (PRAWDA) — trzeba jawnie podać FAŁSZ | Dokładne — nie trzeba podawać |
| Zwracanie wielu wartości | Nie — osobna formuła dla każdej kolumny | Tak — może zwrócić cały wiersz naraz |
| Obsługa błędów | Ręcznie przez JEŻELI.BŁĄD / JEŻELI.ND | Wbudowany argument [jeśli_brak] |
| Wydajność przy dużych tabelach | Dobra, ale XLOOKUP szybszy przy setkach tysięcy wierszy | Lepsza — przeszukuje tylko do pierwszego trafienia |
| Sortowanie dla dopasowania przybliżonego | Wymagane sortowanie rosnące | Nie wymaga sortowania (wyszukiwanie binarne opcjonalne) |
💡 Kiedy używać VLOOKUP w 2026? Gdy współpracujesz z osobami używającymi starszych wersji Excela (2016, 2019), które nie obsługują XLOOKUPa. Jeśli wszyscy w Twoim zespole korzystają z Excela 365 lub 2021 — przejdź na XLOOKUP.
Składnia VLOOKUP — rozpisana krok po kroku
Pełna składnia z polskimi nazwami argumentów:
=WYSZUKAJ.PIONOWO(szukana_wartość; tabela_tablica; nr_kolumny; [przeszukiwany_zakres])
1. szukana_wartość (wymagany)
Wartość, którą chcesz znaleźć. To najczęściej odwołanie do pojedynczej komórki (np. A2), ale może też być wpisanym tekstem w cudzysłowie ("Kowalski") albo liczbą (12345). Musi znajdować się w pierwszej kolumnie zakresu tabela_tablica, inaczej formuła nie zadziała.
2. tabela_tablica (wymagany)
Zakres komórek, w którym Excel szuka — obejmujący zarówno kolumnę z szukaną wartością (pierwsza z lewej), jak i kolumnę z wynikiem. Przykład: B2:D100 oznacza, że szukana wartość jest w kolumnie B, a wynik będzie w którejś z kolumn C lub D. Dobra praktyka: używaj odwołań bezwzględnych ($B$2:$D$100), żeby formuła nie przesuwała zakresu przy kopiowaniu w dół.
3. nr_kolumny (wymagany)
Numer kolumny w obrębie tabela_tablica, z której ma zostać zwrócony wynik. Pierwsza kolumna zakresu to 1, druga to 2 itd. Jeśli zakres to B:D, to kolumna B to 1, C to 2, D to 3. Częsty błąd: podanie liczby większej niż liczba kolumn w zakresie — wtedy Excel zwraca #ADR!.
4. przeszukiwany_zakres (opcjonalny, ale w praktyce zawsze go podawaj)
Wartość logiczna decydująca o typie dopasowania:
| Wartość | Znaczenie | Kiedy używać |
|---|---|---|
| FAŁSZ / 0 | Dopasowanie dokładne | Szukasz konkretnego kodu produktu, ID, nazwiska — najczęstszy przypadek |
| PRAWDA / 1 | Dopasowanie przybliżone | Przedziały liczbowe, progi rabatowe, skale podatkowe — wymaga posortowania pierwszej kolumny rosnąco |
⚠ Pułapka: Jeśli pominiesz czwarty argument, Excel domyślnie użyje PRAWDA (przybliżone) — to najczęstsza przyczyna "VLOOKUP nie działa". W 95% przypadków potrzebujesz FAŁSZ.
VLOOKUP krok po kroku — praktyczny przykład
Scenariusz: Masz tabelę produktów (arkusz "Cennik", zakres A2:C6) i chcesz w drugim arkuszu automatycznie wypełnić cenę na podstawie kodu produktu.
Krok 1: Przygotuj dane
| Kod | Nazwa produktu | Cena |
|---|---|---|
| P001 | Klawiatura mechaniczna | 249 zł |
| P002 | Mysz bezprzewodowa | 129 zł |
| P003 | Monitor 27" | 899 zł |
| P004 | Podkładka biurkowa | 79 zł |
| P005 | Stacja dokująca USB-C | 349 zł |
Krok 2: Wpisz formułę
W arkuszu "Zamówienie", w komórce B2 (gdzie chcesz cenę), wpisz:
=WYSZUKAJ.PIONOWO(A2; Cennik!$A$2:$C$6; 3; FAŁSZ)
Co robi ta formuła?
A2— szuka wartości z komórki A2 (kod produktu, np. "P003")Cennik!$A$2:$C$6— szuka w zakresie A2:C6 arkusza Cennik (dolary$unieruchamiają zakres przy kopiowaniu)3— zwraca wartość z trzeciej kolumny zakresu (czyli kolumny C — Cena)FAŁSZ— wymaga dokładnego dopasowania kodu
Krok 3: Skopiuj formułę w dół
Chwyć za prawy dolny róg komórki B2 (kursor zmieni się w krzyżyk) i przeciągnij w dół — formuła automatycznie zaktualizuje A2 na A3, A4 itd., a zakres $A$2:$C$6 pozostanie bez zmian dzięki znakom dolara.
Najczęstsze błędy VLOOKUP i jak je naprawić
#N/D! — nie znaleziono wartości
Najczęstszy błąd. Oznacza, że szukana wartość nie występuje w pierwszej kolumnie zakresu. Sprawdź:
- Czy wartość na pewno tam jest? Użyj
Ctrl+Fi wyszukaj ją ręcznie w kolumnie źródłowej. - Czy format danych się zgadza? "123" jako tekst ≠ 123 jako liczba. Zaznacz kolumnę źródłową → Dane → Tekst jako kolumny → Zakończ (to przekonwertuje tekst na liczby).
- Czy nie ma niewidocznych spacji? Użyj
=USUŃ.ZBĘDNE.ODSTĘPY(A2)lub=OCZYŚĆ(A2)na obu stronach.
Jak zabezpieczyć formułę: Zawiń VLOOKUP w JEŻELI.ND:
=JEŻELI.ND(WYSZUKAJ.PIONOWO(A2; Cennik!$A$2:$C$6; 3; FAŁSZ); "Brak w cenniku")
#ADR! — numer kolumny poza zakresem
Podałeś większy numer kolumny niż liczba kolumn w tabela_tablica. Jeśli zakres to A2:C6 (3 kolumny), a wpisałeś 4 jako nr_kolumny — dostajesz #ADR!. Policz kolumny od lewej strony zakresu — nie od kolumny A arkusza.
#ARG! — wartość tabela_tablica nieprawidłowa
Zazwyczaj gdy podałeś ujemną wartość lub nieprawidłowy zakres. Upewnij się, że nr_kolumny jest ≥ 1.
VLOOKUP zwraca złą wartość mimo że wszystko wygląda OK
- Brak FAŁSZ — jeśli pominąłeś czwarty argument lub wpisałeś PRAWDA, Excel szuka przybliżonego dopasowania i zwraca "najbliższą" wartość. Dopisz
; FAŁSZ. - Przesunięcie zakresu przy kopiowaniu — jeśli nie użyłeś
$(odwołania bezwzględnego), zakresA2:C6zmieni się przy przeciąganiu naA3:C7. Używaj zawsze$A$2:$C$6.
VLOOKUP nie widzi nowo dodanych wierszy
Jeśli dodajesz dane do tabeli źródłowej, formuła z zakresem $A$2:$C$6 ich nie obejmie. Rozwiązanie: przekonwertuj dane źródłowe na tabelę Excela (Ctrl+T) i odwołuj się do niej nazwą (np. Tabela1[#Wszystko]) — zakres rozszerza się automatycznie.
Zaawansowane techniki VLOOKUP
VLOOKUP z dwoma kryteriami (z kolumną pomocniczą)
VLOOKUP domyślnie obsługuje tylko jedno kryterium. Jeśli potrzebujesz wyszukać po dwóch kolumnach (np. "imię" i "nazwisko"), stwórz kolumnę pomocniczą — połącz obie wartości w pierwszej kolumnie zakresu:
Inna kolumna A: =B2 & "|" & C2 → "Jan|Kowalski"
Potem szukaj: =WYSZUKAJ.PIONOWO(E2 & "|" & F2; $A$2:$D$100; 4; FAŁSZ)
VLOOKUP z symbolami wieloznacznymi
Gdy używasz FAŁSZ, możesz korzystać z wildcardów w szukana_wartość:
*— zastępuje dowolny ciąg znaków:=WYSZUKAJ.PIONOWO("Kowal*"; A2:B100; 2; FAŁSZ)?— zastępuje dokładnie jeden znak:=WYSZUKAJ.PIONOWO("P00?"; A2:C100; 3; FAŁSZ)
VLOOKUP między dwoma plikami
Możesz odwołać się do zamkniętego pliku Excela (ścieżka zostanie wpisana automatycznie, gdy zaznaczysz zakres w otwartym drugim pliku):
=WYSZUKAJ.PIONOWO(A2; '[Cennik_2026.xlsx]Arkusz1'!$A$2:$C$100; 3; FAŁSZ)
Uwaga: przy zamkniętym pliku źródłowym Excel może wyświetlić
#ADR!— otwórz oba pliki równocześnie.
Częste pytania
Jaka jest różnica między VLOOKUP a HLOOKUP?
VLOOKUP (WYSZUKAJ.PIONOWO) przeszukuje dane pionowo — w dół pierwszej kolumny zakresu. HLOOKUP (WYSZUKAJ.POZIOMO) przeszukuje dane poziomo — w prawo pierwszego wiersza zakresu. HLOOKUP stosuje się bardzo rzadko (dane tabelaryczne prawie zawsze są zorganizowane pionowo). Od Excela 2021 obie funkcje zastępuje XLOOKUP, który działa w obu kierunkach bez ograniczeń.
Czy VLOOKUP działa między różnymi arkuszami?
Tak. W argumencie tabela_tablica podajesz nazwę arkusza z wykrzyknikiem przed zakresem: Arkusz2!$A$2:$D$100. Najłatwiej: zacznij wpisywać formułę, przejdź kursorem do drugiego arkusza i zaznacz zakres myszą — Excel sam wstawi prawidłowe odwołanie z nazwą arkusza.
Dlaczego VLOOKUP nie działa, gdy wstawię nową kolumnę w tabeli źródłowej?
Ponieważ nr_kolumny to sztywna liczba. Jeśli zakres A:C ma kolumnę C jako trzecią (wynik), a Ty wstawisz nową kolumnę między A i B, to wynik przesunie się do kolumny D — ale formuła nadal będzie wskazywać na kolumnę 3 (teraz nowo wstawioną). Rozwiązanie: zamiast liczby użyj funkcji PODAJ.POZYCJĘ do dynamicznego znalezienia numeru kolumny po nagłówku, albo przejdź na XLOOKUP.
Czy da się zrobić VLOOKUP "w lewo" — szukać w prawej kolumnie i zwracać z lewej?
Nie — to fundamentalne ograniczenie VLOOKUPa. Szukana wartość musi być w pierwszej (najbardziej lewej) kolumnie zakresu. Jeśli Twoje dane mają identyfikator po prawej stronie, możesz: (a) przesunąć fizycznie kolumny w danych źródłowych, (b) użyć kombinacji INDEKS + PODAJ.POZYCJĘ, która nie ma tego ograniczenia, lub (c) użyć XLOOKUPA, który działa w dowolnym kierunku.
Jak VLOOKUP radzi sobie z duplikatami w pierwszej kolumnie?
VLOOKUP zawsze zwraca pierwsze znalezione dopasowanie od góry. Jeśli w kolumnie źródłowej występuje kilka takich samych wartości, formuła zwróci wynik tylko dla pierwszej z nich — pozostałe zostaną pominięte. Jeśli potrzebujesz zsumować wszystkie pasujące wiersze, użyj funkcji SUMA.JEŻELI zamiast VLOOKUP.
Czy VLOOKUP uwzględnia wielkość liter?
Nie — VLOOKUP nie rozróżnia wielkości liter. Dla Excela "Kowalski" i "kowalski" to ta sama wartość i dopasowanie zostanie znalezione. Jeśli rozróżnianie wielkości liter jest krytyczne, użyj formuły tablicowej z =INDEKS(...; PODAJ.POZYCJĘ(PRAWDA; DOKŁADNE(...); 0)) albo przejdź na XLOOKUP z funkcją DOKŁADNE w argumencie wyszukiwania.
Czy VLOOKUP może zwrócić wiele wartości naraz?
Sam VLOOKUP zwraca tylko jedną wartość — jedną komórkę wyniku. Jeśli potrzebujesz zwrócić cały wiersz (np. nazwę, cenę i stan magazynowy produktu na podstawie kodu), musisz wpisać osobny VLOOKUP dla każdej kolumny, zmieniając tylko nr_kolumny. Alternatywnie, XLOOKUP potrafi zwrócić od razu cały zakres — to jedna z głównych przewag nowej funkcji.
Sprawdź też
- Oficjalna dokumentacja Microsoft: funkcja WYSZUKAJ.PIONOWO
- Microsoft 365 — samouczek XLOOKUP
Potrzebujesz Excela do nauki i pracy z danymi?
Aby ćwiczyć VLOOKUP i inne funkcje na pełnej wersji Excela — bez ograniczeń wersji online i bez subskrypcji — sprawdź licencje w KluczeSoft. Oferujemy legalne klucze do Excela w ramach pakietów Office w atrakcyjnych cenach:
→ Microsoft Office 2024 Professional Plus — klucz licencyjny od 79 zł → Microsoft 365 Personal — subskrypcja z Excel, Word i 1 TB OneDrive
Artykuł opracowany niezależnie przez zespół KluczeSoft na podstawie oficjalnej dokumentacji Microsoft Excel (stan na maj 2026). KluczeSoft nie jest afiliowany z Microsoft Corporation.