Obsah
Výukový program vysvětluje základy vyhledávání v aplikaci Excel, ukazuje silné a slabé stránky jednotlivých vyhledávacích funkcí aplikace Excel a uvádí řadu příkladů, které vám pomohou rozhodnout, který vyhledávací vzorec je v konkrétní situaci nejlepší použít.
Vyhledání konkrétní hodnoty v datové sadě je jednou z nejčastějších úloh v Excelu. Přesto neexistuje žádný "univerzální" vyhledávací vzorec vhodný pro všechny situace. Důvodem je, že pojem "vyhledávání" může označovat řadu různých věcí: můžete vyhledávat vertikálně ve sloupci, horizontálně v řádku nebo na průsečíku řádku a sloupce, hledat podle jednoho nebo několika kritérií, vracetprvní nalezená shoda nebo více shod, vyhledávání s rozlišováním malých a velkých písmen atd.
Na této stránce naleznete seznam nejdůležitějších funkcí Excelu Lookup s příklady vzorců a podrobnými výukovými programy, které jsou pro vás k dispozici.
Vyhledávání v aplikaci Excel - základy
Než se ponoříme do tajů vyhledávacích vzorců aplikace Excel, definujme si klíčové pojmy, abychom byli vždy na stejné vlně.
Vyhledávání - vyhledání zadané hodnoty v tabulce dat.
Hodnota vyhledávání - hodnotu, kterou chcete hledat.
Návratová hodnota (odpovídající hodnota nebo shoda) - hodnota na stejné pozici jako hodnota vyhledávání, ale v jiném sloupci nebo řádku (podle toho, zda se provádí vertikální nebo horizontální vyhledávání).
Vyhledávací tabulka . V informatice je vyhledávací tabulka pole dat, které se obvykle používá k mapování vstupních hodnot na výstupní hodnoty. Z hlediska tohoto výukového kurzu není vyhledávací tabulka aplikace Excel nic jiného než rozsah buněk, ve kterých se hledá vyhledávací hodnota.
Hlavní stůl (hlavní tabulka) - tabulka, do které se načítají odpovídající hodnoty.
Vaše vyhledávací tabulka a hlavní tabulka mohou mít různou strukturu a velikost, vždy by však měly obsahovat alespoň jednu tabulku. společný jedinečný identifikátor , tj. sloupec nebo řádek, který obsahuje stejná data, podle toho, zda chcete provést vertikální nebo horizontální vyhledávání.
Následující snímek obrazovky ukazuje vzorovou vyhledávací tabulku, která bude použita v mnoha níže uvedených příkladech.
Funkce vyhledávání aplikace Excel
Níže uvádíme stručný přehled nejoblíbenějších vzorců pro vyhledávání v aplikaci Excel, jejich hlavní výhody a nevýhody.
Funkce LOOKUP
Funkce LOOKUP v aplikaci Excel dokáže provádět nejjednodušší typy vertikálních a horizontálních vyhledávání.
Klady : Snadné použití.
Nevýhody : Omezená funkčnost, nelze pracovat s nesetříděnými daty (vyžaduje seřazení sloupce/řádku vyhledávání vzestupně).
Další informace naleznete v části Jak používat funkci LOOKUP aplikace Excel.
Funkce VLOOKUP
Jedná se o vylepšenou verzi funkce LOOKUP, která je speciálně navržena tak, aby umožňovala vertikální vyhledávání ve sloupcích.
Klady : Poměrně snadné použití, lze pracovat s přesnou i přibližnou shodou.
Nevýhody : Nelze se podívat vlevo, přestane fungovat, když je sloupec vložen do vyhledávací tabulky nebo z ní odstraněn, hodnota vyhledávání nesmí překročit 255 znaků, vyžaduje velký výpočetní výkon u velkých souborů dat.
Další informace naleznete v části Výukový program Excel VLOOKUP pro začátečníky.
Funkce HLOOKUP
Jedná se o horizontální obdobu funkce VLOOKUP, která hledá hodnotu v prvním řádku vyhledávací tabulky a vrací hodnotu na stejné pozici z jiného řádku.
Klady : Snadno se používá, může vrátit přesné a přibližné shody.
Nevýhody : Lze vyhledávat pouze v nejvyšším řádku vyhledávací tabulky, je ovlivněno vkládáním nebo odstraňováním řádků, hodnota vyhledávání by měla být menší než 255 znaků.
Další informace naleznete v části Jak používat HLOOKUP v aplikaci Excel.
VLOOKUP MATCH / HLOOKUP MATCH
Díky dynamickému odkazu na sloupec nebo řádek vytvořenému funkcí MATCH je tento vyhledávací vzorec aplikace Excel imunní vůči změnám provedeným v datové sadě. Jinými slovy, s pomocí funkce MATCH mohou funkce VLOOKUP a HLOOKUP vracet správné hodnoty bez ohledu na to, kolik sloupců/řádků bylo do vyhledávací tabulky vloženo nebo z ní odstraněno.
Vzorec pro vertikální vyhledávání
VLOOKUP( lookup_value , lookup_table , MATCH( return_column_name , column_headers , 0), FALSE)Vzorec pro horizontální vyhledávání
HLOOKUP( lookup_value , lookup_table , MATCH( return_row_name , row_headers , 0), FALSE)Klady : Vylepšení oproti běžným vzorcům Hlookup a Vlookup, které jsou odolné vůči vkládání nebo mazání dat.
Nevýhody : Není příliš flexibilní, vyžaduje specifickou datovou strukturu (vyhledávací hodnota zadaná funkci MATCH by se měla přesně rovnat názvu vraceného sloupce), nelze pracovat s vyhledávacími hodnotami přesahujícími 255 znaků.
Další informace a příklady vzorců naleznete na adrese:
- Vyhledávání a porovnávání v aplikaci Excel
- Excel Hlookup a Match
OFFSET MATCH
Složitější, ale výkonnější vzorec pro vyhledávání, bez mnoha omezení Vlookup a Hlookup.
Vzorec pro V-Lookup
OFFSET( lookup_table , MATCH( lookup_value , OFFSET( lookup_table , 0, n , ROWS( lookup_table ), 1) ,0) -1, m , 1, 1)Kde:
- n - je posunutí vyhledávacího sloupce, tj. počet sloupců, o které se přesune z počátečního bodu do vyhledávacího sloupce.
- m - je posunutí návratového sloupce, tj. počet sloupců, o které se má posunout od počátečního bodu k návratovému sloupci.
Vzorec pro vyhledávání H
OFFSET( lookup_table , m , MATCH( lookup_value , OFFSET( lookup_table , n , 0, 1, SLOUPCE( lookup_table )), 0) -1, 1, 1)Kde:
- n - je posunutí vyhledávacího řádku, tj. počet řádků, o které se přesuneme z výchozího bodu na vyhledávací řádek.
- m - je posunutí návratového řádku, tj. počet řádků, o které se přesuneme z počátečního bodu do návratového řádku.
Vzorec pro vyhledávání v matici (podle řádku a sloupce)
{=OFFSET ( starting_point , MATCH ( vertical_lookup_value , lookup_column , 0), MATCH ( horizontal_lookup_value , lookup_row , 0))}Upozorňujeme, že se jedná o vzorec pole, který se zadává současným stisknutím kláves Ctrl + Shift + Enter.
Klady : Umožňuje provádět levostranný Vlookup, horní Hlookup a obousměrné vyhledávání (podle hodnot sloupce a řádku), které není ovlivněno změnami v datové sadě.
Nevýhody : Složitá a obtížně zapamatovatelná syntaxe.
Další informace a příklady vzorců naleznete na stránce: Použití funkce OFFSET v aplikaci Excel
INDEX MATCH
Je to nejlepší způsob vertikálního nebo horizontálního vyhledávání v Excelu, který může nahradit většinu výše uvedených vzorců. Vzorec Index Match je mou osobní preferencí a používám ho téměř pro všechna vyhledávání v Excelu.
Vzorec pro V-Lookup
INDEX ( return_column , MATCH ( lookup_value , lookup_column , 0))Vzorec pro vyhledávání H
INDEX ( return_row , MATCH ( lookup_value , lookup_row , 0))Vzorec pro vyhledávání matic
Rozšíření klasického vzorce Index Match o vrácení hodnoty v průsečíku určitého sloupce a řádku:
INDEX ( lookup_table , MATCH ( vertical_lookup_value , lookup_column , 0), MATCH ( horizontal_lookup_value , lookup_row , 0))Nevýhody : Jen jeden - musíte si pamatovat syntaxi vzorce.
Klady : Nejuniverzálnější vzorec pro vyhledávání v aplikaci Excel, který je v mnoha ohledech lepší než funkce Vlookup, Hlookup a Lookup:
- Dokáže vyhledávat vlevo i nahoře.
- Umožňuje bezpečně rozšířit nebo sbalit vyhledávací tabulku vložením nebo odstraněním sloupců a řádků.
- Velikost hodnoty vyhledávání není omezena.
- Funguje rychleji. Protože vzorec Index Match odkazuje na sloupce/řádky, nikoli na celou tabulku, vyžaduje méně výpočetního výkonu a nezpomaluje Excel.
Další informace naleznete na:
- INDEX MATCH jako lepší alternativa k VLOOKUP
- Vzorec INDEX MATCH MATCH pro dvourozměrné vyhledávání
Srovnávací tabulka aplikace Excel
Jak vidíte, ne všechny vyhledávací vzorce aplikace Excel jsou rovnocenné, některé zvládnou řadu různých vyhledávání, zatímco jiné lze použít pouze v určité situaci. V následující tabulce jsou uvedeny možnosti jednotlivých vyhledávacích vzorců v aplikaci Excel.
Vzorec | Vertikální vyhledávání | Vyhledávání vlevo | Horizontální vyhledávání | Horní vyhledávání | Vyhledávání matic | Umožňuje vkládání/mazání dat |
Vyhledávání | ✓ | ✓ | ||||
Vlookup | ✓ | |||||
Hlookup | ✓ | |||||
Vlookup Match | ✓ | ✓ | ||||
Hlookup Match | ✓ | ✓ | ||||
Shoda posunu | ✓ | ✓ | ✓ | ✓ | ✓ | |
Offset Match Match | ✓ | ✓ | ||||
Indexová shoda | ✓ | ✓ | ✓ | ✓ | ✓ | |
Index Shoda Shoda | ✓ | ✓ |
Příklady vyhledávacích vzorců aplikace Excel
Prvním krokem při rozhodování, který vzorec použít v konkrétní situaci, je určit, jaký typ vyhledávání chcete provést. Níže najdete příklady vzorců pro nejoblíbenější typy vyhledávání:
Vertikální vyhledávání ve sloupcích
Vertikální vyhledávání neboli Vlookup je proces vyhledání hodnoty v jednom sloupci a vrácení hodnoty ve stejném řádku z jiného sloupce. Vlookup v aplikaci Excel lze provádět různými způsoby, např:
Funkce VLOOKUP
Pokud se hodnoty vyhledávání nacházejí v levém sloupci tabulky a nemáte v plánu provádět žádné strukturální změny v datovém souboru (ani přidávat, ani odstraňovat sloupce), můžete bez obav použít běžný vzorec Vlookup:
=VLOOKUP(G2, $A$2:$E$6, 5, FALSE)
Kde G2 je hodnota vyhledávání, A2:E6 ve vyhledávací tabulce a E je sloupec pro návrat.
VLOOKUP MATCH
Pokud pracujete s "proměnlivou" vyhledávací tabulkou aplikace Excel, do které lze kdykoli vkládat a odstraňovat sloupce, zajistěte, aby byl vzorec Vlookup vůči těmto změnám imunní, a to vložením funkce Shoda, která vytvoří dynamický odkaz na sloupec namísto "natvrdo" zadaného indexového čísla:
=VLOOKUP(F2,$A$1:$D$6, MATCH($G$1,$A$1:$D$1, 0), FALSE)
INDEX MATCH - levé vyhledávání
Je to můj oblíbený vzorec, který snadno zvládá vyhledávání zprava doleva a funguje bezvadně bez ohledu na to, kolik sloupců přidáte nebo odstraníte.
Chcete-li například vyhledat hodnotu ve sloupci B ve sloupci H2 a vrátit shodu ze sloupce F, použijte tento vzorec:
=INDEX($F$2:$F$6,(MATCH(H2,$B$2:$B$6,0)))
Poznámka: Pokud plánujete použít vzorec Vlookup ve více než jedné buňce, měli byste vždy. uzamknout odkaz na vyhledávací tabulku pomocí znaku $ (absolutní odkaz na buňku), aby se vzorec správně zkopíroval do dalších buněk.
Horizontální vyhledávání v řádcích
Horizontální vyhledávání je "transponovaná" verze vertikálního vyhledávání, která vyhledává v horizontálně uspořádaném souboru dat. Jinými slovy, vyhledává hodnotu vyhledávání v jednom řádku a vrací hodnotu na stejné pozici z jiného řádku.
Předpokládejte, že hodnota vyhledávání je v B9, tabulka vyhledávání je B1:F5 a chcete vrátit odpovídající hodnotu z řádku 5, použijte jeden z následujících vzorců:
Funkce HLOOKUP
Může se podívat nahoru pouze přes horní řada ve vašem souboru dat.
=HLOOKUP(B8, $B$1:$F$5, 5, FALSE)
HLOOKUP MATCH
Stejně jako čistý Hlookup může tento vzorec vyhledávat pouze v nejvyšším řádku, ale umožňuje vám. bezpečně vkládat nebo mazat řádky ve vyhledávací tabulce.
=HLOOKUP(B8, $B$1:$F$5, MATCH($A$9, $A$1:$A$5, 0), FALSE)
Kde A1:A5 jsou záhlaví řádků a A9 je název řádku, ze kterého chcete vrátit shody.
INDEX MATCH
Může podívat se nahoru do libovolného řádku a nemá žádná omezení výše uvedených vzorců.
=INDEX($B$5:$F$5,(MATCH(B8,$B$1:$F$1,0)))
Dvourozměrné vyhledávání (na základě hodnot řádků a sloupců)
Dvourozměrné vyhledávání (také známé jako vyhledávání matic , dvojí vyhledávání nebo 2-cestné vyhledávání ) vrací hodnotu na základě shody v řádcích i sloupcích. Jinými slovy, dvourozměrný vyhledávací vzorec hledá hodnotu v průsečíku zadaného řádku a sloupce.
Za předpokladu, že vaše vyhledávací tabulka je A1:E6, buňka H2 obsahuje hodnotu, která se má porovnat v řádcích, a buňka H3 obsahuje hodnotu, která se má porovnat ve sloupcích, budou následující vzorce fungovat:
Vzorec INDEX MATCH MATCH :
=INDEX($A$1:$E$6, MATCH(H2,$A$1:$A$6,0), MATCH(H3,$A$1:$E$1,0))
Vzorec OFFSET MATCH MATCH :
=OFFSET($A$1,MATCH(H2,$A$2:$A$6,0),MATCH(H3,$B$1:$E$1,0))
Kromě výše uvedených vzorců existuje několik dalších způsobů, jak v aplikaci Excel provádět maticové vyhledávání, a všechny podrobnosti najdete v článku Jak provádět dvoucestné vyhledávání v aplikaci Excel.
Trojrozměrné vyhledávání
Trojrozměrné vyhledávání znamená vyhledávání podle 3 různých hodnot vyhledávání. V níže uvedeném souboru dat předpokládejme, že chcete vyhledat konkrétní rok (H2), poté konkrétní jméno v rámci údajů tohoto roku (H3) a poté vrátit hodnotu pro konkrétní měsíc (H4).
Úlohu lze provést pomocí následujícího vzorce pole (pro správné dokončení nezapomeňte stisknout klávesy Ctrl + Shift + Enter):
=INDEX($A$1:$E$12,MIN(IF((ROW($A$1:$A$12)>MATCH(H2,$A$1:$A$12,0))*($A$1:$A$12=H3),ROW($A$1:$A$12),")),MATCH(H4,$A$1:$E$1,0))
Vyhledávání s více kritérii
Abychom mohli vyhodnocovat více kritérií, musíme upravit klasický vzorec Index Match tak, aby se změnil na vzorec pole:
INDEX( lookup_table , MATCH(1, ( lookup_value1 = lookup_column1 ) * ( lookup_value2 = lookup_column2 )*..., 0), return_column_number )S vyhledávací tabulkou umístěnou v A1:C11 vyhledejme shodu podle dvou kritérií: ve sloupci A hledejme hodnotu v buňce F1 a ve sloupci B hodnotu v buňce F2:
=INDEX($A$1:$C$11, MATCH(1, (F1=$A$1:$A$11) * (F2=$B$1:$B$11),0), 3)
Jako obvykle stiskněte klávesy Ctrl + Shift + Enter, aby se vzorec vyhodnotil jako vzorec pole.
Podrobné vysvětlení logiky vzorce naleznete v části INDEX MATCH pro vyhledávání s více kritérii.
Vyhledávání pro vrácení více hodnot
Ať už použijete jakoukoli vyhledávací funkci aplikace Excel (LOOKUP, VLOOKUP nebo HLOOKUP), může vrátit pouze jednu shodu. Chcete-li získat všechny nalezené shody, museli byste použít 6 různých funkcí kombinovaných do vzorce pole:
IFERROR(INDEX( return_range , SMALL(IF( lookup_value = lookup_range , ROW( return_range )- m ,""), ROW() - n )),"")Kde:
- m je číslo řádku první buňky ve vráceném rozsahu minus 1.
- n je číslo řádku první buňky vzorce minus 1.
S hodnotou vyhledávání umístěnou v buňce E2, rozsahem vyhledávání v A2:A11, rozsahem návratu v B2:B11 a první buňkou vzorce v řádku 2 má váš vyhledávací vzorec následující tvar:
=IFERROR(INDEX($B$2:$B$11, SMALL(IF($E$2 =$A$2:$A$11, ROW($B$2:$B$11 )- 1,""), ROW() - 1 )),"")
Aby vzorec vrátil více shod, zadejte jej do první buňky (F2), stiskněte klávesy Ctrl + Shift + Enter , a poté vzorec zkopírujte do dalších buněk dole ve sloupci.
Podrobné vysvětlení výše uvedeného vzorce a dalších způsobů, jak vrátit více hodnot, naleznete v části Jak pomocí Vlookup vrátit více výsledků.
Vnořené vyhledávání (ze 2 vyhledávacích tabulek)
V situacích, kdy hlavní tabulka a vyhledávací tabulka, ze které chcete čerpat data, nemají společný sloupec, můžete použít další vyhledávací tabulku k určení shody, například takto:
Získání hodnot z Částka sloupec v Lookup_table2 , použijete následující vzorec:
=VLOOKUP(VLOOKUP(A2, Lookup_table1!$A$1:$B$6, 2, FALSE), Lookup_table2!$A$1:$B$6, 2, FALSE)
Jak ukazuje obrázek níže, náš vnořený vyhledávací vzorec funguje dokonale:
Postupné vyhledávání z více listů
Chcete-li provádět postupné vyhledávání VLOOKUP na základě toho, zda předchozí vyhledávání bylo úspěšné nebo neúspěšné, použijte vnořené funkce IFERROR spolu s VLOOKUP, které postupně vyhodnotí více podmínek:
IFERROR(VLOOKUP( ... ), IFERROR(VLOOKUP( ... ), IFERROR(VLOOKUP( ... ), "Nenalezeno")))Pokud první Vlookup selže, IFERROR zachytí chybu a spustí další Vlookup. Pokud ani druhý Vlookup nic nenajde, druhý IFERROR zachytí chybu a spustí třetí Vlookup atd. Pokud všechny Vlookupy selžou, poslední IFERROR vrátí "nenalezeno" nebo jakoukoli jinou zprávu, kterou vzorci zadáte.
Jako příklad si zkusme vytáhnout částku ze 3 různých listů:
=IFERROR(VLOOKUP(B1,A6:B9,2,0), IFERROR(VLOOKUP(B1,D6:E9,2,0), IFERROR(VLOOKUP(B1,G6:H9,2,0), "Nenalezeno")))
Výsledek bude vypadat podobně:
Další informace naleznete v části Jak používat vnořené funkce IFERROR v aplikaci Excel.
Vyhledávání s ohledem na velikost písmen
Jak pravděpodobně víte, všechny vyhledávací funkce aplikace Excel ze své podstaty nerozlišují velká a malá písmena. Chcete-li donutit vyhledávací vzorec rozlišovat mezi malými a velkými písmeny v textu, použijte buď funkci LOOKUP, nebo INDEX MATCH v kombinaci s funkcí EXACT. Osobně volím funkci INDEX MATCH, protože nevyžaduje řazení hodnot ve vyhledávacím sloupci jako funkce LOOKUP, dokáže provádět i řazení zleva doprava.a vyhledávání zprava doleva a funguje dokonale pro všechny typy dat.
INDEX( return_column , MATCH(TRUE, EXACT( lookup_column , lookup_value ),0))Pokud je G2 hodnota vyhledávání, A - sloupec, podle kterého se vyhledává, a E - sloupec, ze kterého se vrací shody, náš vzorec pro vyhledávání s rozlišováním malých a velkých písmen vypadá takto:
=INDEX($E$2:$E$6, MATCH(TRUE, EXACT($A$2:$A$6,G2),0))
Vzhledem k tomu, že se jedná o vzorec pole , nezapomeňte stisknout klávesy Ctrl + Shift + Enter, abyste ji správně dokončili.
Další příklady vzorců naleznete v části Jak v aplikaci Excel vyhledávat s ohledem na velikost písmen.
Hledání částečné shody řetězce
Vyhledávání podle částečné shody je jednou z nejnáročnějších úloh v Excelu, pro kterou neexistuje univerzální řešení. Který vzorec použít, závisí na tom, jaké rozdíly jsou mezi hodnotami vašeho vyhledávání a hodnotami ve sloupci, ve kterém chcete vyhledávat. Ve většině případů byste použili funkci LEFT, RIGHT nebo MID pro extrakci společné části hodnot a tuto část pak dodali do funkce lookup_value argumentu funkce Vlookup, jako je tomu v následujícím vzorci:
=VLOOKUP(RIGHT(D2,4), $A$2:$B$6, 2, FALSE)
Kde D2 je hodnota vyhledávání, A2:B6 je vyhledávací tabulka a 2 je číslo indexu sloupce, ze kterého se mají vrátit shody.
Další způsoby vyhledávání částečné shody v aplikaci Excel naleznete v části Jak sloučit dva listy pomocí částečné shody.
Takto se v aplikaci Excel používají vyhledávací funkce. Chcete-li se blíže seznámit se vzorci probíranými v tomto kurzu, můžete si stáhnout naše příklady vyhledávacích vzorců aplikace Excel.
Způsob vyhledávání v aplikaci Excel bez použití vzorců
Je samozřejmé, že vyhledávání v Excelu není triviální úloha. Pokud podnikáte první kroky v učení se říši Excelu, mohou se vám vyhledávací vzorce zdát poměrně matoucí a obtížně pochopitelné. Nenechte se však odradit, tyto dovednosti nejsou pro většinu uživatelů přirozené!
Abychom usnadnili práci začátečníkům, vytvořili jsme speciální nástroj Průvodce sloučením tabulek, který dokáže vyhledávat, porovnávat a slučovat tabulky bez jediného vzorce. Kromě toho poskytuje řadu opravdu jedinečných možností, které využijí i pokročilí uživatelé aplikace Excel:
- Vyhledávání podle více kritérií , tj. použít jeden nebo více sloupců jako jedinečný identifikátor (identifikátory).
- Aktualizace hodnoty v existujících sloupcích a přidat nový sloupce z vyhledávací tabulky.
- Návrat na vícenásobné shody v samostatných řádcích. Při použití v kombinaci s Průvodcem kombinací řádků může dokonce vrátit více výsledků v jedné buňce, oddělených čárkou nebo jinak (příklad naleznete zde).
- A další.
Práce s Průvodcem sloučením tabulek je snadná a intuitivní. Stačí jen:
- Vyberte hlavní tabulku, ze které chcete vytáhnout odpovídající hodnoty.
- Vyberte vyhledávací tabulku, ze které chcete vybírat shody.
- Definujte jeden nebo více společných sloupců.
- Vyberte sloupce, které chcete aktualizovat a/nebo přidat na konec tabulky.
- Volitelně můžete vybrat jednu nebo více dalších možností sloučení.
- Klikněte na Dokončení a za chvíli budete mít výsledek!
Pokud jste zvědaví, zda si doplněk vyzkoušíte na vlastních listech, můžete si stáhnout zkušební verzi naší sady Ultimate Suite, která obsahuje všechny naše nástroje pro úsporu času pro Excel (celkem více než 70 nástrojů a více než 300 funkcí!).
Dostupné soubory ke stažení
Příklady vyhledávacích vzorců aplikace Excel (.xlsx soubor)
Ultimate Suite 14denní plně funkční verze (.exe soubor)