WYSZUKAJ.PIONOWO (VLOOKUP)
Jak przestać się bać tej funkcji i zdobywać na niej punkty z matury bez zawahania. Król łączenia tabel.
WYSZUKAJ.PIONOWO - Koszmar czy Złote Narzędzie?
Większość uczniów boi się funkcji WYSZUKAJ.PIONOWO (ang. VLOOKUP). Brzmi jak coś magicznego, co zawsze wyrzuca błąd #N/D!. Tak naprawdę to jedna z najpotężniejszych funkcji na maturze z informatyki i jest wręcz niezbędna do rozwiązywania typowych zadań łączeniowych, zastępując SQL-owe JOIN.
Po co nam to?
Wyobraź sobie, że w jednym arkuszu masz id_klienta i kwotę zamówienia:
| ID_Klienta | Kwota |
|---|---|
| 1 | 150 zł |
| 2 | 300 zł |
A w drugim arkuszu (np. Klienci.txt) masz słownik, który tłumaczy ID na Imię:
| ID | Imie |
|---|---|
| 1 | Maciej |
| 2 | Kasia |
Chcesz przypisać "Macieja" i "Kasię" do tabeli z zamówieniami. I tutaj wchodzi WYSZUKAJ.PIONOWO.
Składnia jak dla ludzi
Formuła wygląda tak: =WYSZUKAJ.PIONOWO(szukana_wartość; tabela_tablica; nr_indeksu_kolumny; [przeszukiwany_zakres])
Rozkodujmy to na prosty język:
- szukana_wartość - "Kogo szukamy?" (np. kliknij w komórkę A2 z ID_Klienta = 1)
- tabela_tablica - "Gdzie szukamy, w jakim słowniku?" (zaznacz całą tabelę w drugim arkuszu słownikowym. Zawsze ZAMRÓŻ JĄ dolarami np.
$A$1:$B$100) - nr_indeksu_kolumny - "Którą kolumnę z tego słownika chcemy przykleić?" (Skoro Imię to druga kolumna od lewej w zaznaczeniu, wpisz po prostu cyfrę
2). - przeszukiwany_zakres - "Czy szukamy dokładnie tego ID?" (Zawsze wpisujesz tu
FAŁSZalbo0, co oznacza "znajdź dokładne dopasowanie, a nie podobne liczbowo").
Gotowa formuła wygląda np. tak: =WYSZUKAJ.PIONOWO(A2; Klienci!$A$1:$B$100; 2; 0) I przeciągamy w dół!
[!WARNING] Dlaczego dostaję błąd #N/D!? Najczęściej powody są dwa:
- Brak dolarów: Zapomniałeś zamrozić tabelę źródłową znakami
$. Przy przeciąganiu formuły w dół, tabela "zsuwa się" na dół i gubi słownik!- Typy danych: Twoja szukana wartość w jednej tabeli to tekst (np. pobrany z funkcji tekstowej
"1"), a w słowniku to czysta liczba1. Arkusz uznaje, że to zupełnie dwie różne rzeczy. Użyj wtedy funkcjiWARTOŚĆ(), żeby przekonwertować tekst na liczbę.
[!TIP] Dla dociekliwych: Kiedy WYSZUKAJ.PIONOWO nie zadziała? Ta funkcja ma jeden ogromny minus. Musi szukać identyfikatora w PIERWSZEJ (skrajnej lewej) KOLUMNIE zaznaczonej tablicy. Jeśli twój słownik ma ułożone kolumny odwrotnie:
Imię | ID, VLOOKUP rzuci błędem. Jak to obejść?
- Wytnij kolumnę w słowniku i wklej na przód (najszybsze na maturze).
- Użyj zaawansowanej kombinacji
=INDEKS(zwracane; PODAJ.POZYCJĘ(szukane; wektor_szukany; 0)).- W nowszych wersjach Excela (od Office 365) użyj funkcji
=X.WYSZUKAJ(), która w ogóle nie ma takich problemów.
