Ako funguje VLOOKUP?
Predtým, než sa pustíme do riešenia nejakého príkladu, si pripomeňme požiadavky, ktoré musí spĺňať tabuľka, v ktorej budeme vyhľadávať (v našom príklade na obrázku je to tabuľka Zakaznici):
- musí obsahovať kľúčový údaj (v príklade ID_ZAK) ako prvý stĺpec – ak sa z nejakého dôvodu v prvom stĺpci nenachádza, treba pracovať len s vybranou oblasťou, kde bude kľúčový údaj prvým stĺpcom
- kľúčový stĺpec nesmie obsahovať duplicity (!) – ak sú duplicity nevyhnutné, použijeme vyhľadávanie cez viacero stĺpcov (VLOOKUP 4x inak – dodatok)
- údaje majú byť zoradené vzostupne – v prípade číselných údajov od najmenšieho hore po najväčší dolu, platí najmä pre intervalové vyhľadávanie popísané v ďalšom článku (VLOOKUP a počítanie zľavy).
Ak funkcia vypíše chybovú hodnotu #NEDOSTUPNÝ, znamená, že hľadané presné číslo nebolo nájdené.
Úloha 1:
Budeme vychádzať z príkladu na obrázku hore – z tabuliek Objednavky (vľavo) a Zakaznici (vpravo). Do tabuľky Objednavky chceme doplniť nový stĺpec s menom zákazníka. Teda okrem čísla zákazníka bude v tabuľke v samostatnom stĺpci jeho meno.
Postup:
- Na uľahčenie práce obe tabuľky naformátujeme nástrojom Tabuľka (ak neviete, ako funguje, príďte na kurz Excel I. pre začiatočníkov),
- Do prvej tabuľky vložíme na požadované miesto nový stĺpec (napr. označením a skratkou Ctrl – (+)) a pomenujeme ho meno_zak.
- Mená zákazníkov budeme pomocou VLOOKUP vyhľadávať v stĺpci ID_ZAK v tabuľke Zakaznici.
V ľubovoľnej prázdnej bunke nového stĺpca (je jedno, v ktorej, keďže tabuľky sú formátované nástrojom Tabuľka), začneme písať vzorec s funkciou VLOOKUP. Vzorec bude vyzerať nasledovne:
=VLOOKUP(@[ID_ZAK];Zakaznici;2;0)
V tomto vzorci sme určili funkciou VLOOKUP Excelu, aby „hľadal“ v prvom stĺpci v tabuľke Zakaznici. VLOOKUP hľadá vždy v prvom stĺpci druhej tabuľky.
Prvý argument funkcie hovorí, že VLOOKUP má hľadať údaj zo stĺpca ID_ZAK prvej tabuľky (zavináč hovorí, že údaj je na riadku, na ktorom je zápis funkcie). Keď tento údaj v prvom stĺpci druhej tabuľky nájde, aby vypísal údaj, ktorý mu zodpovedá v druhom stĺpci (preto je tam číslo 2) druhej tabuľky.
Nula ako posledný argument hovorí Excelu, že funkcia VLOOKUP bude vyhľadávať údaj z prvej tabuľky presne. Teda presne ten údaj, ktorý je v prvej tabuľke. Žiadne odchýlky. Mimochodom – správnejšie sa namiesto nuly zapisuje FALSE.
Pri dopĺňaní stĺpca sme v príklade pracovali s tabuľkami formátovanými nástrojom Tabuľka (Vložiť / Tabuľky / Tabuľka), ktoré sme na ich špeciálnej karte premenovali (Nástroje tabuliek / Návrh / Vlastnosti) na Objednavky a Zakaznici. Preto v druhom argumente funkcie VLOOKUP odkazujeme na názov tabuľky Zakaznici. Ak druhá tabuľka nie je formátovaná nástrojom Tabuľka, vo funkcii VLOOKUP použijeme namiesto názvu tabuľky odkaz na rozsah buniek. V takom prípade ho však musíme uviesť s absolútnymi adresami, pretože vzorec s funkciou VLOOKUP sa automaticky rozkopíruje do všetkých buniek v stĺpci prvej tabuľky.
V našom príklade by teda výsledná funkcia vyzerala v prípade použitia normálneho rozsahu údajov (druhá tabuľka neformátovaná) nasledovne:
=VLOOKUP([@ID_ZAK];$F$1:$H$6;2;0)