VLOOKUP (funkcia)

Vzťahuje sa na
Excel pre Microsoft 365 Excel pre Microsoft 365 pre Mac Excel 2024 Excel 2024 pre Mac Excel 2021 Excel 2021 pre Mac Excel 2019 Excel 2016

Tip

Vyskúšajte novú funkciu XLOOKUP, vylepšenú verziu funkcie VLOOKUP, ktorá funguje v ľubovoľnom smere a predvolene vráti presné zhody, vďaka čomu sa používa jednoduchšie a pohodlnejšie ako predchádzajúca verzia.

Funkcia VLOOKUP sa používa, ak potrebujete vyhľadať položky v tabuľke alebo rozsahu podľa riadka. Môžete napríklad vyhľadať cenu automobilového dielu podľa čísla dielu alebo zistiť meno zamestnanca na základe ID zamestnanca.

V najjednoduchšej podobe funkcia VLOOKUP znamená:

=VLOOKUP(čo chcete vyhľadať, kde to chcete hľadať, číslo stĺpca v rozsahu obsahujúcom vrátenú hodnotu, vrátiť približnú alebo presnú zhodu – uvedené ako 1/TRUE alebo 0/FALSE).

Tip

  • Tajomstvo funkcie VLOOKUP spočíva v usporiadaní údajov. Hľadaná hodnota (Ovocie) sa musí nachádzať naľavo od vrátenej hodnoty (Množstvo), ktorú chcete nájsť.
  • Ak máte predplatené Microsoft Copilot, funkcia Copilot môže ešte viac zjednodušiť vkladanie a používanie funkcií VLookup alebo XLookup. Pozrite si tému Získanie prehľadov údajov pomocou Copilota v Exceli.

Technické podrobnosti

Funkciu VLOOKUP použite na vyhľadanie hodnoty v tabuľke.

Syntax

VLOOKUP (vyhľadávaná_hodnota; pole_tabuľky; číslo_indexu_stĺpca; [vyhľadávanie_rozsahu])

Príklad:

  • =VLOOKUP(A2;A10:C20;2;TRUE)
  • =VLOOKUP("Sýkora";B2:E7;2;FALSE)
  • =VLOOKUP(A2;Podrobnosti o klientovi! A:F;3;FALSE)
Názov argumentu Popis
Hľadaná_hodnota (povinné) Hodnota, ktorú chcete vyhľadať. Hodnota, ktorú chcete vyhľadať, musí byť v prvom stĺpci rozsahu buniek, ktorý určíte v argumente table_array .
Ak sa napríklad pole tabuľky vzťahuje na bunky B2:D7, potom sa lookup_value musí nachádzať v stĺpci B.
Lookup_value môže byť hodnotou alebo odkazom na bunku.
Pole_tabuľky (povinné) Rozsah buniek, v ktorom bude funkcia VLOOKUP hľadať lookup_value a vrátenú hodnotu. Môžete použiť pomenovaný rozsah alebo tabuľku a namiesto odkazov na bunky môžete v argumente použiť názvy.
Prvý stĺpec v rozsahu buniek musí obsahovať lookup_value. Rozsah buniek musí tiež obsahovať vrátenú hodnotu, ktorú chcete vyhľadať.
Číslo_indexu_stĺpca (povinné) Číslo stĺpca (začínajúc hodnotou 1 pre ľavý krajný stĺpec table_array), v ktorom sa nachádza vrátená hodnota.
Vyhľadávanie_rozsahu(voliteľné) Logická hodnota, ktorá určuje, či má funkcia VLOOKUP vyhľadať úplnú alebo približnú zhodu:
  • Približná zhoda – 1/TRUE predpokladá, že prvý stĺpec v tabuľke je zoradený v číselnom alebo abecednom poradí, a vyhľadá najbližšiu hodnotu. Ak neurčíte žiadnu metódu, použije sa táto ako predvolená. Príklad: =VLOOKUP(90;A1:B100;2;TRUE).
  • Presná zhoda – 0/FALSE Vyhľadá presnú hodnotu v prvom stĺpci. Príklad: =VLOOKUP("Kováč";A1:B100;2;FALSE).

Ako začať

Na zostavenie syntaxe funkcie VLOOKUP potrebujete tieto štyri informácie:

  1. Hodnotu, ktorú chcete vyhľadať, tzv. hľadanú hodnotu.
  2. Rozsah, v ktorom sa hľadaná hodnota nachádza. Nezabudnite na to, že aby funkcia VLOOKUP fungovala správne, hľadaná hodnota musí byť vždy v prvom stĺpci rozsahu. Ak sa hľadaná hodnota nachádza napríklad v bunke C2, rozsah by sa mal začínať stĺpcom C.
  3. Číslo stĺpca v rozsahu, v ktorom sa nachádza vrátená hodnota. Ak napríklad zadáte rozsah B2:D11, B sa počíta ako prvý stĺpec, C ako druhý atď.
  4. Ak chcete získať približnú zhodu vrátenej hodnoty, môžete zadať hodnotu TRUE. Ak chcete získať presnú zhodu, zadajte hodnotu FALSE. Ak nič nezadáte, predvolená hodnota bude vždy TRUE alebo približná zhoda.

Všetky uvedené informácie teraz spojte dohromady:

=VLOOKUP(vyhľadávaná_hodnota;rozsah obsahujúci hľadanú hodnotu;číslo stĺpca v rozsahu obsahujúcom vrátenú hodnotu;približná zhoda (TRUE) alebo presná zhoda (FALSE)).

Príklady

Niekoľko príkladov funkcie VLOOKUP:

Príklad 1

=VLOOKUP (B3;B2:E7;2;FALSE) Funkcia VLOOKUP vyhľadá meno Fontana v prvom stĺpci (stĺpci B) v table_array B2:E7 a vráti meno Olivier z druhého stĺpca (stĺpca C) table_array. Hodnota False vráti presnú zhodu.

Príklad 2

=VLOOKUP (102;A2:C7;2;FALSE) Funkcia VLOOKUP hľadá presnú zhodu (FALSE) priezviska čísla 102 (lookup_value) v druhom stĺpci (stĺpci B) rozsahu A2:C7 a vráti meno Fontana.

Príklad 3

=IF(VLOOKUP(103;A1:E7;2;FALSE)=Souse;Located;Not found) Funkcia IF skontroluje, či funkcia VLOOKUP vráti Sousa ako priezvisko zamestnanca, ktorý korešponduje s číslom 103 (lookup_value) v rozsahu A1:E7 (table_array). Keďže priezvisko zodpovedajúce číslu 103 je Leal, podmienka IF je false a zobrazí sa správa Nenájdené.

Príklad 4

=INT(YEARFRAC(DATE(2014;6;30);VLOOKUP(105;A2:E7;5;FLASE);1)) Funkcia VLOOKUP vyhľadá dátum narodenia zamestnanca zodpovedajúci číslu 109 (lookup_value) v rozsahu A2:E7 (table_array) a vráti 04.03.1955. Funkcia YEARFRAC potom odpočíta dátum narodenia od dátumu narodenia 30.6.2014 a vráti hodnotu, ktorú potom INY skonvertuje na celé číslo 59.

Príklad 5

IF(ISNA(VLOOKUP(105;A2:E7;2;FLASE))=TRUE;Zamestnanec sa nenašiel;VLOOKUP(105;A2:E7;2;FALSE)) Funkcia IF skontroluje, či funkcia VLOOKUP vracia hodnotu priezviska zo stĺpca B pre číslo 105 (lookup_value). Ak funkcia VLOOKUP nájde priezvisko, funkcia IF toto priezvisko zobrazí, inak funkcia IF vráti funkciu Zamestnanec sa nenašiel. Funkcia ISNA zabezpečí, aby sa v prípade, že funkcia VLOOKUP vrátila #N/A, chyba nahradí chybou Zamestnanec sa nenašiel namiesto chyby #N/A. V tomto príklade je vrátená hodnota Janák, čo je priezvisko zodpovedajúce číslu 105.

Riešenie bežných problémov

Problém Kde sa stala chyba
Vrátená nesprávna hodnota Ak má range_lookup hodnotu TRUE alebo je hodnota vynechaná, musí byť prvý stĺpec zoradený v abecednom alebo číselnom poradí. Ak prvý stĺpec nie je zoradený, vrátená hodnota môže obsahovať niečo, čo neočakávate. Zoraďte prvý stĺpec alebo použite hodnotu FALSE pre presnú zhodu.
V bunke sa nachádza chyba #NEDOSTUPNÝ
  • Ak má range_lookup hodnotu TRUE a ak je hodnota v lookup_value menšia ako najmenšia hodnota v prvom stĺpci table_array, zobrazí sa chybová hodnota #N EDOSTUPNÝ.
  • Ak je hodnota range_lookup FALSE, chybová hodnota #N/A znamená, že presné číslo nebolo nájdené.
Ďalšie informácie o odstraňovaní chyby #NEDOSTUPNÝ vo funkcii VLOOKUP nájdete v téme Odstránenie chyby #NEDOSTUPNÝ vo funkcii VLOOKUP.
Chyba typu #ODKAZ! v bunke Ak je hodnota col_index_num väčšia než počet stĺpcov v poli tabuľky, získate #REF! .
Ďalšie informácie o riešení #REF! vo funkcii VLOOKUP nájdete v téme Odstránenie chyby #REF!.
Odstránená chyba v bunke Ak je table_array menšia ako 1, zobrazí sa #VALUE! .
Ďalšie informácie o odstraňovaní chyby #HODNOTA! vo funkcii VLOOKUP nájdete v téme Oprava chyby #VALUE! vo funkcii VLOOKUP.
#NÁZOV? v bunke #NAME? zvyčajne znamená, že vo vzorci chýbajú úvodzovky. Ak chcete vyhľadať meno osoby, skontrolujte, či vo vzorci pred a za menom používate úvodzovky. Zadajte napríklad meno v tvare "Sýkora" vo funkcii =VLOOKUP("Fontana";B2:E7;2;FALSE).
Ďalšie informácie nájdete v téme Odstránenie chyby #NÁZOV?.
Chyba #PRESAHOVANIE! v bunke Táto konkrétna chyba #SPILL! zvyčajne znamená, že vzorec sa spolieha na implicitný prienik hľadanej hodnoty a používa celý stĺpec ako odkaz. Príklad: =VLOOKUP( A:A;A:C;2;FALSE). Problém môžete vyriešiť ukotvením vyhľadávacieho odkazu pomocou operátora @ takto: =VLOOKUP(@A:A;A:C;2;FALSE). Prípadne môžete použiť tradičnú metódu VLOOKUP a odkazovať na jednu bunku namiesto celého stĺpca: =VLOOKUP(A2;A:C;2;FALSE).

Najvhodnejšie postupy

Postup Dôvody
Používanie absolútnych odkazov na range_lookup Použitie absolútnych odkazov umožňuje vyplniť vzorec tak, že sa bude vždy zobrazovať v rovnakom rozsahu vyhľadávania.
Ďalšie informácie o absolútnych odkazoch na bunky.
Číselné hodnoty alebo hodnoty dátumov neukladajte ako textové hodnoty. Pri vyhľadávaní číselných alebo dátumových hodnôt nesmú byť údaje v prvom stĺpci table_array uložené ako textové hodnoty. V opačnom prípade by funkcia VLOOKUP mohla vrátiť nesprávne alebo neočakávané hodnoty.
Zoraďte prvý stĺpec Prvý stĺpec table_array zoraďte ešte pred použitím funkcie VLOOKUP, keď má range_lookup hodnotu TRUE.
Používajte zástupné znaky Ak je range_lookup hodnota FALSE a lookup_value text, v lookup_value môžete použiť zástupné znaky – otáznik (?) a hviezdičku (*). Otáznik predstavuje ľubovoľný jeden znak. Hviezdička predstavuje ľubovoľnú sekvenciu znakov. Ak chcete vyhľadať skutočný otáznik alebo hviezdičku, zadajte pred znakom vlnovku (~).
Príklad: =VLOOKUP("Sýkora?";B2:E7;2;FALSE) vyhľadá všetky výskyty mena Sýkora, pričom posledné písmeno v mene sa môže líšiť.
Skontrolujte, či údaje neobsahujú chybné znaky. Pri vyhľadávaní textových hodnôt v prvom stĺpci nesmú údaje v prvom stĺpci obsahovať žiadne úvodné a koncové medzery, nekonzistentne použité rovné (' alebo ") a oblé (' alebo ") úvodzovky ani znaky, ktoré sa nedajú tlačiť. V takýchto prípadoch by funkcia VLOOKUP mohla vrátiť neočakávané hodnoty.
Ak chcete získať presné výsledky, treba odstrániť koncové medzery v bunke za hodnotami tabuliek. Skúste použiť funkcie CLEAN alebo TRIM.

Potrebujete ďalšiu pomoc?

Vždy sa môžete opýtať odborníka v komunite Excel Tech Community alebo získať podporu v komunitách.