Przejdź do treści głównej

VLOOKUP() w Google Sheets: jak używać + przykłady

Dowiedz się, jak używać VLOOKUP() w Google Sheets, aby w kilka sekund wyszukiwać, znajdować i pobierać dane z dużych zbiorów.
Zaktualizowano 4 maj 2026  · 10 min Czytać

VLOOKUP() to funkcja Google Sheets, która wyszukuje wartość w kolumnie i zwraca pasującą wartość z innej kolumny w tym samym wierszu. Podajemy, czego szukamy, wskazujemy zakres, a funkcja zwraca potrzebne dane.

Najbardziej przydaje się przy dużych zbiorach danych, gdy ręczne wyszukiwanie i dopasowywanie zajęłoby zbyt dużo czasu. Ale za każdym razem, gdy trzeba połączyć dwie tabele na podstawie wspólnej wartości, VLOOKUP() jest funkcją pierwszego wyboru.

W tym przewodniku poznasz jej składnię, użycie krok po kroku, typowe źródła błędnych wyników oraz sytuacje, w których lepiej sięgnąć po alternatywy, takie jak INDEX MATCH() lub XLOOKUP().

Jaka jest składnia VLOOKUP() w Google Sheets?

Składnia VLOOKUP() to:

=VLOOKUP(search_key, range, index, [is_sorted])

Gdzie: 

  • search_key to wartość, którą chcemy znaleźć

  • range to tabela, w której odbywa się wyszukiwanie

  • index to numer kolumny, z której ma zostać zwrócony wynik

  • [is_sorted] określa, czy szukamy dopasowania dokładnego, czy nie

Jak wykonać VLOOKUP() w Google Sheets?

Aby wykonać VLOOKUP() w Google Sheets:

  1. Zdecyduj, jaką wartość chcesz wyszukać: Może to być ID, imię lub inna unikalna wartość.

  2. Określ zakres swojej tabeli: Upewnij się, że kolumna z wartością wyszukiwaną jest pierwszą kolumną tego zakresu.

  3. Wybierz dane do zwrócenia: To kolumna z wynikiem (np. imię, cena, status).

  4. Wpisz formułę VLOOKUP() w nowej komórce: Odnieś się do wartości wyszukiwania, zakresu tabeli oraz kolumny, którą chcesz zwrócić.

  5. Użyj dopasowania dokładnego lub przybliżonego (FALSE lub TRUE): W większości przypadków wybierz dopasowanie dokładne, aby uniknąć błędnych wyników (więcej o tym później).

Jeśli masz taką tabelę:

A (ID)

B (Imię)

101

George

102

Sarah

103

Lily

I chcesz znaleźć imię dla ID 102, użyj:

=VLOOKUP(102, A2:B4, 2, FALSE)

To mówi Google Sheets, aby:

  • Szukał 102 w kolumnie A
  • Zwrócił wartość z kolumny B
  • Zastosował dopasowanie dokładne

W rezultacie otrzymasz Sarah.

Przykład VLOOKUP w Google Sheets.

Przykład VLOOKUP(). Obraz: autor.

Jak działa VLOOKUP() (logika krok po kroku)

VLOOKUP() wykonuje proste pionowe wyszukiwanie. Zawsze zaczyna od pierwszej kolumny wybranego zakresu, a następnie skanuje w dół, wiersz po wierszu, aż znajdzie pierwszy trafny wynik.

Gdy go znajdzie, pozostaje w tym samym wierszu. Następnie przechodzi do wskazanej kolumny i zwraca jej wartość.

Działa to krok po kroku tak:

  • Zaczyna w pierwszej kolumnie zakresu
  • Przeszukuje kolumnę w dół
  • Znajduje pierwszą pasującą wartość
  • Przechodzi w tym samym wierszu w prawo
  • Zwraca dane ze wskazanej kolumny

Załóżmy, że chcesz znaleźć stanowisko dla ID pracownika E1007. Użyj tej formuły:

=VLOOKUP("E1007", A:G, 5, FALSE)

VLOOKUP w Google Sheets

VLOOKUP() w Google Sheets. Obraz: autor.

Ta formuła:

  • Wyszukuje E1007 w kolumnie A

  • Przechodzi w tym samym wierszu w prawo

  • Zwraca kolumnę 5 (Stanowisko)

  • Daje wynik Software Engineer.

Uwaga: VLOOKUP() wyszukuje tylko od lewej do prawej. Jeśli kolumna wyszukiwania nie jest pierwszą kolumną zakresu, funkcja nie zadziała. W takim przypadku trzeba przeorganizować dane lub użyć innej funkcji. Do tego wrócimy później.

Dopasowanie dokładne vs przybliżone w VLOOKUP()

Dopasowanie dokładne zwraca wynik tylko wtedy, gdy wartość jest identyczna. Dopasowanie przybliżone zwraca najbliższą dostępną wartość, gdy nie ma dokładnego dopasowania, zwykle na podstawie posortowanych danych.

W VLOOKUP() kontroluje to ostatni argument. Ostatni argument, FALSE lub TRUE, jest najczęściej mylony, bo TRUE wygląda niegroźnie, a wcale takie nie jest.

  • FALSE oznacza tylko dopasowanie dokładne. Jeśli wartości nie ma, dostaniemy #N/A, co w praktyce jest pomocne.
  • TRUE zwraca najbliższą niższą wartość, gdy nie ma dokładnego dopasowania, co brzmi jak „zapasowe” rozwiązanie, ale trafniej opisać to jako cichą, błędną odpowiedź. Zakłada też, że dane są posortowane. Jeśli nie są, wynik jest nieokreślony.

Zalecałbym używać TRUE tylko do wyszukiwań progowych, jak progi podatkowe czy skale ocen, gdzie dopasowanie przybliżone jest z założenia poprawne. We wszystkich innych przypadkach używaj FALSE.

Dopasowanie dokładne (FALSE)

To mówi VLOOKUP(): „Zwróć wynik tylko, jeśli znajdziesz dokładnie tę wartość”. Na przykład formuła =VLOOKUP("E1005", A:G, 7, FALSE) szuka E1005, zwraca pensję z kolumny 7 i daje wynik 90000.

Jeśli wartości nie ma, otrzymasz błąd #N/A.

Dopasowanie dokładne zwraca błąd w VLOOKUP w Google Sheets

Dopasowanie dokładne w VLOOKUP(). Obraz: autor.

Dopasowanie przybliżone (TRUE)

To mówi VLOOKUP(): „Jeśli nie znajdziesz dokładnego dopasowania, zwróć najbliższą wartość poniżej”. Może to brzmieć pomocnie — czasem jest, ale czasem po cichu daje zły wynik.

Na przykład E1011 nie występuje w naszym zbiorze danych. Ostatni ID pracownika to E1010. Jeśli więc użyjesz formuły =VLOOKUP("E1011", A:G, 7, TRUE), VLOOKUP() nie zwróci błędu. Zamiast tego odda wartość dla najbliższego niższego dopasowania, czyli E1010. Komórka pokaże 88000.

Czyli mimo że E1011 brakuje, VLOOKUP() nadal zwraca wynik, bo TRUE dopuszcza dopasowanie przybliżone.

Dopasowanie przybliżone w VLOOKUP w Google Sheets.

Dopasowanie przybliżone w VLOOKUP(). Obraz: autor.

Teraz wyobraź sobie, że te same dane są w innej kolejności, a ja wpisuję dostępny ID pracownika do formuły, tak: =VLOOKUP("E1011", A:G, 7, TRUE).

Tym razem formuła zwraca nieprawidłową pensję, ponieważ kolumna wyszukiwania nie jest posortowana, a dopasowanie przybliżone zależy od posortowanych danych.

VLOOKUP dopasowanie przybliżone zwraca błąd z powodu nieposortowanej listy w Google Sheets.

VLOOKUP() z dopasowaniem przybliżonym zwraca błąd z powodu nieposortowanej listy. Obraz: autor.

Typowe błędy w VLOOKUP() i jak je naprawić

Przyjrzyjmy się najczęstszym problemom, na które można natrafić, używając VLOOKUP(), oraz sposobom ich rozwiązania: 

Błąd #N/A

Błąd #N/A oznacza, że VLOOKUP() nie znalazł żądanej wartości.

Załóżmy, że masz formułę: =VLOOKUP("E9999", A:G, 7, FALSE)

 Jeśli E9999 nie znajduje się w pierwszej kolumnie zakresu, formuła zwróci #N/A.

Może się to też zdarzyć, gdy wartość jest inaczej wpisana w arkuszu, np. zawiera dodatkowe spacje lub ma problemy z formatowaniem tekstu.

Aby to naprawić:

  • Upewnij się, że wartość istnieje w pierwszej kolumnie zakresu

  • Gdy to możliwe, używaj właściwego odwołania do komórki zamiast wpisywać wartość ręcznie

  • Dodaj cudzysłowy, jeśli wpisujesz wartość tekstową na sztywno

  • Usuń spacje na początku lub końcu danych

  • Używaj FALSE tylko wtedy, gdy potrzebujesz dopasowania dokładnego

Zły indeks kolumny

Indeks kolumny mówi VLOOKUP(), z której kolumny w wybranym zakresie ma zwracać wartości. Jeśli numer indeksu jest zbyt duży, formuła zwraca #REF!.

Formuła =VLOOKUP("E1005", A:G, 8, FALSE) zwraca #REF!, ponieważ zakres A:G ma tylko 7 kolumn.

Zły indeks kolumny powoduje błąd w VLOOKUP w Google Sheets.

Zły indeks kolumny powoduje błąd. Obraz: autor.

Możesz też otrzymać zły wynik, jeśli numer kolumny jest poprawny, ale wskazuje niewłaściwą kolumnę.

Na przykład:

=VLOOKUP("E1005", A:G, 5, FALSE)

To zwraca stanowisko, a nie pensję.

Aby to naprawić:

  • Liczyć kolumny od pierwszej kolumny wybranego zakresu
  • Sprawdzić, czy numer kolumny odpowiada żądanej wartości do zwrócenia
  • Upewnić się, że kolumna istnieje w obrębie zakresu

Problemy z dopasowaniem przybliżonym

Jeśli użyjesz TRUE, VLOOKUP() szuka najbliższego niższego dopasowania zamiast wymagać dopasowania dokładnego.

Jeśli wpiszesz =VLOOKUP("E1011", A:G, 7, TRUE) i w zbiorze nie ma E1011, zamiast zwrócić błąd, formuła zwróci 88000, czyli wartość należącą do E1010.

Ten wynik może wyglądać poprawnie, ale nie jest dopasowaniem dokładnym.

Aby to naprawić:

  • Używaj FALSE, gdy potrzebny jest dokładny wynik

  • Używaj TRUE tylko wtedy, gdy dane są posortowane i dopuszczalny jest wynik przybliżony

Problemy z zakresem

VLOOKUP() może też przestać działać, gdy wybrany zakres nie odpowiada temu, co formuła próbuje zrobić.

Na przykład =VLOOKUP("E1005", A:C, 7, FALSE) zwraca #REF!, bo zakres A:C ma tylko 3 kolumny, a formuła żąda kolumny 7.

Inny częsty problem występuje, gdy kolumna wyszukiwania nie jest pierwszą kolumną w zakresie.

Spójrz na tę formułę:

=VLOOKUP("E1005", B:G, 7, FALSE)

Tutaj pierwszą kolumną zakresu jest kolumna B, a nie A. Ponieważ VLOOKUP() przeszukuje tylko pierwszą kolumnę wybranego zakresu, nie znajdzie E1005.

Aby to naprawić:

  • Upewnij się, że kolumna wyszukiwania jest pierwszą kolumną zakresu
  • Upewnij się, że zakres obejmuje kolumnę, którą chcesz zwrócić
  • Sprawdź wybrany zakres przed zatwierdzeniem formuły

Zły zakres powoduje błąd w VLOOKUP w Google Sheets

Zły zakres powoduje błąd. Obraz: autor.

VLOOKUP() między arkuszami w Google Sheets

Można użyć VLOOKUP(), aby pobierać dane z innego arkusza, dodając nazwę arkusza przed zakresem.

Format wygląda tak:

=VLOOKUP(search_key, SheetName!range, index, FALSE)

Część SheetName! wskazuje, w którym arkuszu ma szukać formuła.

Załóżmy, że dane są zapisane w arkuszu o nazwie Employees, a Pan/Pani pracuje w innym arkuszu. Aby znaleźć dział dla ID pracownika E1005, użyj:

=VLOOKUP("E1005", Employees!A:G, 4, FALSE)

Tutaj:

  • Employees!A:G wskazuje arkusz Employees

  • 4 zwraca kolumnę Department

Formuła zwróci dział dla E1005.

Odwołanie do innego arkusza w VLOOKUP w Google Sheets.

Odwołanie do innego arkusza w VLOOKUP(). Obraz: autor.

Gdy nazwy arkuszy zawierają spacje

Jeśli nazwa arkusza zawiera spacje, proszę ująć ją w pojedyncze cudzysłowy w ten sposób: 

=VLOOKUP("E1005", 'Employee Data'!A:G, 7, FALSE)

Bez cudzysłowów formuła nie zadziała.

VLOOKUP() vs. INDEX MATCH w Google Sheets

VLOOKUP() szuka w stałej kolumnie i zwraca dane na podstawie położenia, podczas gdy INDEX MATCH znajduje wartości bezpośrednio przy użyciu odwołań do wierszy i kolumn, więc działa nawet wtedy, gdy struktura tabeli się zmieni.

VLOOKUP: szybkie w pisaniu, łatwe do zepsucia

Widzieli już Państwo, że =VLOOKUP("E1005", A:G, 7, FALSE) znajduje pensję dla E1005.

Dobrze działa, gdy:

  • Kolumna wyszukiwania jest po lewej
  • Struktura tabeli się nie zmienia

Problemy zaczynają się, gdy struktura ulega zmianie.

Na przykład:

  • Wstawiają Państwo nową kolumnę
  • Kolumna z pensją przesuwa się z 7 na 8
  • Formuła nadal używa 7

Teraz zwraca niewłaściwą wartość bez wyświetlenia błędu.

INDEX MATCH: dłuższe, ale stabilne

Ten sam odczyt przy użyciu INDEX MATCH wygląda tak:

=INDEX(G:G, MATCH("E1005", A:A, 0))

Tutaj:

  • MATCH() znajduje pozycję E1005 w kolumnie A

  • INDEX() zwraca wartość z kolumny G na tej pozycji

Ta metoda nie zależy od numerów kolumn, więc działa nawet wtedy, gdy tabela się zmienia.

INDEX MATCH radzi sobie z danymi lepiej niż VLOOKUP

INDEX MATCH radzi sobie z danymi lepiej niż VLOOKUP(). Obraz: autor.

Gdzie to realnie pomaga

Używaj INDEX MATCH, gdy dane nie są ułożone od lewej do prawej. Załóżmy, że kolumna A zawiera ID pracownika, a kolumna C zawiera nazwisko. Jeśli chcą Państwo wyszukać po nazwisku i zwrócić ID pracownika, jest to wyszukiwanie od prawej do lewej.

VLOOKUP() nie potrafi tego zrobić bez zmiany tabeli, ale INDEX MATCH poradzi sobie bezpośrednio:

=INDEX(A:A, MATCH("Wilson", C:C, 0))

Nie trzeba przeorganizowywać danych.

VLOOKUP() vs XLOOKUP w Google Sheets

VLOOKUP() działa w stałej strukturze i ma ograniczenia, podczas gdy XLOOKUP() pozwala wyszukiwać w dowolnym kierunku. Zostało dodane do Google Sheets w 2022 roku i w wielu przypadkach jest teraz lepszą opcją.

Załóżmy, że chcesz znaleźć ID pracownika na podstawie nazwiska Wilson. To wyszukiwanie od prawej do lewej. VLOOKUP() nie poradzi sobie z tym bez zmiany tabeli, ale XLOOKUP() tak:

=XLOOKUP("Wilson", C:C, A:A)

Ta formuła:

  • Przeszukuje kolumnę z nazwiskiem (kolumna C)
  • Zwraca ID pracownika (kolumna A)

XLOOKUP w Google Sheets

XLOOKUP() w Google Sheets. Obraz: autor.

XLOOKUP() jest lepsze, ponieważ:

  • Działa w dowolnym kierunku (w lewo lub w prawo)
  • Nie używa numerów kolumn
  • Domyślnie zwraca dopasowania dokładne
  • Pozwala ustawić własny wynik, gdy nie ma dopasowania

Podsumowanie

Gdybym miał udzielić jednej rady: proszę zbudować VLOOKUP() w prawdziwym arkuszu, na którym naprawdę Panu/Pani zależy, a nie w arkuszu ćwiczebnym. Błędy odczuwa się inaczej, gdy dane są ważne. Pierwszy raz, gdy TRUE po cichu zwróci komuś złą pensję, zapamięta Pan/Pani, po co istnieje FALSE.

Gdy poczuje się Pan/Pani swobodnie, proszę testować różne typy dopasowań, modyfikować zakresy i obserwować, kiedy wyniki przestają mieć sens. To zwykle moment, w którym bardziej elastyczna opcja, taka jak INDEX MATCH() lub XLOOKUP(), zaczyna mieć większy sens.

FAQs

Czy mogę używać `VLOOKUP()` ze znakami wieloznacznymi (wildcards)?

Tak. Można użyć * (dowolna liczba znaków) i ? (pojedynczy znak) w kluczu wyszukiwania przy dopasowaniu dokładnym.

Na przykład, =VLOOKUP("E10*", A:G, 2, FALSE)

Czy `VLOOKUP()` obsługuje wyszukiwanie z rozróżnianiem wielkości liter w Google Sheets?

Nie. VLOOKUP() nie rozróżnia wielkości liter. Traktuje „apple” i „Apple” jako tę samą wartość. Aby wykonać wyszukiwanie z rozróżnianiem wielkości liter, należy użyć funkcji takich jak FILTER() lub EXACT().

Dlaczego `VLOOKUP()` czasem zwraca puste wyniki?

Dzieje się tak, gdy dopasowana komórka jest pusta, co oznacza, że formuła zadziałała poprawnie, ale nie ma danych do wyświetlenia.

Czy `VLOOKUP()` może odwoływać się do nazwanych zakresów?

Tak. Zamiast używać A:G, można nazwać zakres (np. EmployeeData) i użyć go w formule.

Oto przykład, jak to zrobić:

=VLOOKUP("E1005", EmployeeData, 7, FALSE)

Tematy

Naucz się Google Sheets z DataCamp

course

Introduction to Statistics in Google Sheets

4 godz.
46.7K
Learn how to leverage statistical techniques using spreadsheets to more effectively work with and extract insights from your data.
Zobacz szczegółyRight Arrow
Rozpocznij kurs
Zobacz więcejRight Arrow