Funkce Excel HLOOKUP s příklady vzorců

  • Sdílet Toto
Michael Brown

Jak pravděpodobně víte, Microsoft Excel má tři funkce pro vyhledávání hodnot - LOOKUP, VLOOKUP a HLOOKUP - a zdá se, že právě ony matou uživatele nejvíce. V tomto kurzu se zaměříme na specifika funkce Excel HLOOKUP a probereme několik příkladů vzorců, které vám pomohou ji v Excelu co nejefektivněji používat.

    Co je HLOOKUP v aplikaci Excel?

    Funkce Excel HLOOKUP je určena pro horizontální vyhledávání Přesněji řečeno, vyhledá určitou hodnotu v prvním řádku tabulky a vrátí jinou hodnotu ve stejném sloupci z řádku, který zadáte.

    Funkce HLOOKUP je k dispozici ve všech verzích aplikace Microsoft Excel 2016, Excel 2013, Excel 2010, Excel 2007 a nižších.

    Syntaxe a použití funkce Excel HLOOKUP

    Funkce HLOOKUP v aplikaci Excel má následující argumenty:

    HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])
    • Lookup_value (povinné) - hodnota, kterou chcete vyhledat. Může to být odkaz na buňku, číselná hodnota nebo textový řetězec.
    • Table_array (povinné) - dva nebo více řádků dat, ve kterých se hledá hodnota vyhledávání. Může se jednat o běžný rozsah, pojmenovaný rozsah nebo tabulku. Hodnoty vyhledávání by se měly vždy nacházet v poli první řádek z table_array .
    • Row_index_num (povinné) - číslo řádku v tabulce_array, ze kterého má být hodnota vrácena. Chcete-li například vrátit odpovídající hodnotu z 2. řádku, nastavte číslo_indexu_řádku na 2 a tak dále.
    • Range_lookup (nepovinné) - logická (booleovská) hodnota, která dává HLOOKUP pokyn k vyhledávání s přesnou nebo přibližnou shodou.

      Pokud je TRUE nebo je vynecháno, bude přibližný To znamená, že pokud není nalezena přesná shoda, vzorec Hlookup provede nepřesnou shodu a vrátí další největší hodnotu, která je menší než hodnota_hledání.

      Pokud je FALSE, pouze přesná shoda Pokud žádná hodnota v zadaném řádku neodpovídá přesně hodnotě vyhledávání, HLOOKUP vyhodí chybu #N/A.

    Pro snazší pochopení můžete syntaxi HLOOKUP aplikace Excel přeložit:

    HLOOKUP( lookup_value , table_array , row_index_num , [range_lookup])

    do normální angličtiny:

    HLOOKUP( vyhledat tuto hodnotu , v této tabulce , vrátit hodnotu z tohoto řádku , [vrátit přibližnou nebo přesnou shodu])

    Abychom viděli, jak to funguje v praxi, vytvoříme si jednoduchý příklad Hlookup. Předpokládejme, že máte tabulku se základními informacemi o planetách naší sluneční soustavy (viz obrázek níže). Chcete vzorec, který vrátí průměr planety, jejíž jméno je zadáno v buňce B5.

    V našem vzorci Hlookup budeme používat následující argumenty:

    • Lookup_value je B5 - buňka obsahující název planety, kterou chcete najít.
    • Table_array je B2:I3 - tabulka, ve které vzorec vyhledá hodnotu.
    • Row_index_num je 2, protože Diameter je 2. řádek tabulky.
    • Range_lookup je FALSE. Protože první řádek naší tabulky není seřazen od A do Z, můžeme vyhledávat pouze pomocí přesné shody, což v tomto příkladu funguje dobře.

    Nyní sečteme argumenty a získáme následující vzorec:

    =VLOOKUP(40, A2:B15,2)

    3 věci, které byste měli vědět o funkci Excel HLOOKUP

    Při každém horizontálním vyhledávání v aplikaci Excel mějte na paměti následující skutečnosti:

    1. Funkce HLOOKUP umí vyhledávat pouze v adresáři nejvyšší řádek z table_array . Pokud potřebujete vyhledat něco jiného, zvažte použití vzorce Index / Shoda.
    2. HLOOKUP v aplikaci Excel je rozlišování velkých a malých písmen , nerozlišuje velká a malá písmena.
    3. Pokud range_lookup je nastavena na hodnotu TRUE nebo je vynechána ( přibližný ), hodnoty v prvním řádku pole table_array musí být seřazeny v vzestupné pořadí (A-Z) zleva doprava.

    Jaký je rozdíl mezi VLOOKUP a HLOOKUP v aplikaci Excel?

    Jak již víte, obě funkce VLOOKUP a HLOOKUP vyhledávají hledanou hodnotu. Rozdíl je ve způsobu vyhledávání. Jak jste si asi všimli, názvy funkcí se liší pouze prvním písmenem - "H" znamená horizontální a "V" vertikální.

    Proto se k vyhledávání používá funkce VLOOKUP. vertikální seznamy, pokud se hodnoty vyhledávání nacházejí ve sloupci nalevo od dat, která chcete najít.

    Funkce HLOOKUP provede horizontální vyhledávání - vyhledá vyhledávací hodnotu v nejvyšším řádku tabulky a vrátí hodnotu umístěnou o určitý počet řádků níže ve stejném sloupci.

    Následující obrázek ukazuje rozdíl mezi vzorci Vlookup a Hlookup v aplikaci Excel:

    Jak používat HLOOKUP v aplikaci Excel - příklady vzorců

    Nyní, když vám funkce HLOOKUP začala připadat trochu známější, probereme si několik dalších příkladů vzorců, abychom si upevnili znalosti.

    Horizontální vyhledávání s přibližnou a přesnou shodou

    Jak již víte, funkce HLOOKUP v aplikaci Excel může provádět vyhledávání s přesnou a nepřesnou shodou v závislosti na tom, jaká hodnota je zadána do příkazu range_lookup argument:

    • TRUE nebo vynecháno - přibližný zápas
    • FALSE - přesný zápas

    Mějte prosím na paměti, že ačkoli říkáme "přibližná shoda", každý vzorec Hlookup hledá v první řadě přesnou shodu. Nastavení posledního argumentu na FALSE však umožňuje vzorci vrátit přibližnou shodu (nejbližší hodnotu, která je menší než hledaná hodnota), pokud není nalezena přesná shoda; TRUE nebo vynechání vrátí v tomto případě chybu #N/A.

    Pro lepší ilustraci uveďme následující příklady HLOOKUP.

    HLOOKUP s přibližnou shodou

    Předpokládejme, že máte seznam planet v řádku 2 (B2:I2) a jejich teploty v řádku 1 (B1:I1). Chcete zjistit, která planeta má určitou teplotu, která je zadána v buňce B4.

    Nemůžete se spoléhat na to, že uživatelé přesně znají teplotu vyhledávání, proto má smysl vracet hodnotu nejbližší shoda pokud není nalezena přesná hodnota.

    Chcete-li například zjistit planetu, jejíž průměrná teplota se pohybuje kolem -340 °F, použijte následující vzorec ( range_lookup nastavit na TRUE nebo vynechat jako v tomto příkladu):

    =HLOOKUP(B4, B1:I2, 2)

    Nezapomeňte, že přibližná shoda vyžaduje seřazení hodnot v horním řádku od nejmenší po největší nebo od A po Z, jinak může vzorec Hlookup vrátit nesprávný výsledek.

    Jak vidíte na obrázku níže, náš vzorec vrací Uran , jedna z nejchladnějších planet sluneční soustavy, která si udržuje průměrnou teplotu -346 stupňů Fahrenheita.

    HLOOKUP s přesnou shodou

    Pokud znáte hodnotu vyhledávání přesně, můžete poslední parametr HLOOKUP nastavit na FALSE:

    =HLOOKUP(B4, B1:I2, 2, FALSE)

    Na jedné straně je Hlookup s přibližnou shodou uživatelsky přívětivější, protože nevyžaduje třídění dat v prvním řádku. Na druhé straně, pokud není nalezena přesná shoda, vrátí se chyba #N/A.

    Tip: Abyste uživatele nestrašili chybami N/A, můžete vzorec Hlookup vložit do IFERROR a zobrazit vlastní zprávu, např:

    =IFERROR(HLOOKUP(B4, B1:I2, 2, FALSE), "Sorry, nothing has been found")

    Jak provést HLOOKUP z jiného listu nebo sešitu

    Obecně h-lookup z jiného listu nebo jiného sešitu neznamená nic jiného než zadání externích odkazů na vzorec HLOOKUP.

    Vytáhnutí odpovídajících dat z jiný pracovní list , zadáte název listu, za kterým následuje vykřičník. Například:

    =HLOOKUP(B$1, Diameters!$B$1:$I$2,2,FALSE)

    Pokud název pracovního listu obsahuje prostory nebo nealfabetické znaky , uzavřete název do jednoduchých uvozovek, například takto:

    =HLOOKUP(B$1, 'Planet diameters'!$B$1:$I$2,2,FALSE)

    Při odkazování další sešit , uveďte název sešitu uzavřený v hranatých závorkách:

    =HLOOKUP(B$1, [Book1.xlsx]Průměry!$B$1:$I$2, 2, FALSE)

    Pokud stahujete data z uzavřeného sešitu, je třeba zadat celou cestu:

    =HLOOKUP(B$1, 'D:\Reports\[Book1.xlsx]Průměry'!$B$1:$I$2, 2, FALSE)

    Tip: Místo ručního zadávání názvů sešitů a listů do vzorce můžete vybrat buňky v jiném listu a aplikace Excel automaticky přidá do vzorce externí odkaz.

    Excel HLOOKUP s částečnou shodou (zástupné znaky)

    Stejně jako v případě VLOOKUP umožňuje funkce HLOOKUP aplikace Excel používat v zadávacím poli následující zástupné znaky. lookup_value argument:

    • Otazník (?) pro porovnání s libovolným jednotlivým znakem
    • Hvězdička (*) pro přiřazení libovolné posloupnosti znaků

    Zástupné znaky se hodí, když chcete vytáhnout informace z databáze na základě textu, který je součástí obsahu vyhledávací buňky.

    Například máte seznam jmen zákazníků v řádku 1 a ID objednávek v řádku 2. Chcete najít ID objednávky pro konkrétního zákazníka, ale nemůžete si přesně vzpomenout na jméno zákazníka, i když si pamatujete, že začíná na "ace".

    Za předpokladu, že jsou vaše data v buňkách B1:I2 ( table_array) a pořadová čísla jsou v řádku 2 ( row_index_num ), vzorec je následující:

    =HLOOKUP("ace*", B1:I2, 2, FALSE)

    Aby byl vzorec flexibilnější, můžete zadat vyhledávací hodnotu do zvláštní buňky, například B4, a tuto buňku spojit se zástupným znakem takto:

    =HLOOKUP(B4& "*", B1:I2, 2, FALSE)

    Poznámky.

    • Aby vzorec HLOOKUP se zástupným znakem fungoval správně, je třeba, aby byl vzorec range_lookup argument musí být nastaven na hodnotu FALSE.
    • Pokud table_array obsahuje více než jednu hodnotu, která splňuje kritéria zástupného znaku, je vrácena první nalezená hodnota.

    Absolutní a relativní odkazy na buňky ve vzorcích HLOOKUP

    Pokud píšete vzorec pro jednu buňku, nemusíte se starat o správné použití relativních a absolutních odkazů na buňky, stačí oba.

    Kopírování vzorce do více buněk je něco jiného. V podstatě:

    • Vždy byste měli opravit table_array pomocí absolutních odkazů na buňky se znakem dolaru ($), například $B$1:$I$2.
    • Obvykle se lookup_value odkaz je relativní nebo smíšený v závislosti na vaší obchodní logice.

    Abychom si vše ujasnili, podívejme se blíže na vzorec, který čerpá data z jiného listu:

    =HLOOKUP(B$1, Diameters!$B$1:$I$2,2,FALSE)

    Ve výše uvedeném vzorci použijeme absolutní odkazy na buňky ($B$1:$I$2) v položce table_array protože by měl zůstat konstantní i při kopírování vzorce do jiných buněk.

    Pro lookup_value (B$1), používáme a smíšené odkaz, relativní sloupec a absolutní řádek, protože naše vyhledávací hodnoty (názvy planet) jsou ve stejném řádku (řádek 1), ale v různých sloupcích (od B do I) a odkaz na sloupec by se měl změnit na základě relativní polohy buňky, do které je vzorec zkopírován.

    Díky chytrému použití odkazů na buňky funguje náš vzorec Hlookup dokonale pro více buněk:

    INDEX/MATCH - výkonnější alternativa k HLOOKUP aplikace Excel

    Jak již víte, funkce HLOOKUP v Excelu má řadu omezení, z nichž nejvýznamnější jsou nemožnost vyhledávat jinde než v nejvyšším řádku a nutnost seřadit hodnoty při vyhledávání pomocí přibližné shody.

    Naštěstí v Excelu existuje výkonnější a univerzálnější alternativa k funkcím Vlookup a Hlookup - spojení funkcí INDEX a MATCH, které se omezuje na tento obecný vzorec:

    INDEX ( kde vrátit hodnotu z , MATCH ( vyhledávací hodnota , kde hledat , 0))

    Za předpokladu, že se hodnota vyhledávání nachází v buňce B7, hledáte shodu v řádku 2 (B2:I2) a chcete vrátit hodnotu z řádku 1 (B1:I1), je vzorec následující:

    =INDEX(B1:I1,MATCH(B7,B2:I2,0))

    Na obrázku níže vidíte 2 vzorce Hlookup, které hledají v prvním a druhém řádku, a v obou případech funguje INDEX MATCH stejně dobře.

    Podrobné vysvětlení logiky vzorce a další příklady naleznete v části INDEX MATCH jako lepší alternativa k VLOOKUP.

    Jak v aplikaci Excel provádět vyhledávání h s rozlišováním velkých a malých písmen

    Jak bylo uvedeno na začátku tohoto návodu, funkce Excel HLOOKUP nerozlišuje velká a malá písmena. V situacích, kdy na velikosti písmen záleží, můžete použít funkci EXACT, která přesně porovnává buňky, a vložit ji do vzorce INDEX MATCH popsaného v předchozím příkladu:

    INDEX ( řádek pro vrácení hodnoty z , MATCH(TRUE, EXACT( řádek pro vyhledávání , vyhledávací hodnota) , 0))

    Za předpokladu, že hodnota vyhledávání je v buňce B4, rozsah vyhledávání je B1:I1 a rozsah návratu je B2:I2, má vzorec následující tvar:

    =INDEX(B2:I2, MATCH(TRUE, EXACT(B1:I1,B4),0))

    Důležité upozornění! Jedná se o vzorec pole, a proto byste jej měli dokončit stisknutím kláves Ctrl + Shift + Enter.

    Výše uvedený příklad demonstruje můj oblíbený, ale ne jediný možný způsob, jak v Excelu provést Vlookup s rozlišováním velkých a malých písmen. Pokud vás zajímají další techniky, přečtěte si tento návod: 4 způsoby, jak v Excelu provést Vlookup s rozlišováním velkých a malých písmen. Myslím, že s přestavbou vzorců Vlookup pro horizontální vyhledávání nebudete mít žádné problémy.

    10 hlavních důvodů, proč nefunguje Excel HLOOKUP

    Nyní již víte, že Hlookup je velmi užitečná a výkonná vyhledávací funkce v Excelu. Je také záludná a kvůli svým četným specifikům #N/A, #VALUE nebo #REF je často vidět chyby. Pokud váš vzorec HLOOKUP nefunguje správně, je to s největší pravděpodobností z jednoho z následujících důvodů.

    1. HLOOKUP v Excelu se nemůže podívat nad sebe

    I kdybyste zapomněli na všechny ostatní podrobnosti o horizontálním vyhledávání v Excelu, pamatujte na tuto zásadní věc - Hlookup umí vyhledávat pouze v oblasti nejvyšší řádek v tabulce. Pokud se hodnoty vašeho vyhledávání nacházejí v jiném řádku, vrátí se chyba N/A. Chcete-li toto omezení překonat, použijte vzorec INDEX MATCH.

    2. Přibližná shoda vs. přesná shoda

    Při vyhledávání v aplikaci Excel, ať už horizontálním (Hlookup) nebo vertikálním (Vlookup), ve většině případů hledáte konkrétní věc, a proto vyžadujete přesnou shodu. Při vyhledávání s přibližnou shodou ( range_lookup nastaveno na TRUE nebo vynecháno), nezapomeňte seřadit hodnoty v prvním řádku vzestupně.

    Další informace a příklady vzorců naleznete v části Excel Hlookup s přibližnou a přesnou shodou.

    3. Při kopírování vzorce se změní odkaz na pole tabulky

    Při použití více příkazů HLOOKUP k získání informací o řádku hodnot vyhledávání je třeba uzamknout příkaz. table_array odkaz, jak je ukázáno v části Absolutní a relativní odkazy na buňky ve vzorcích Hlookup.

    4. Vložení nebo odstranění nového řádku

    Abyste pochopili, proč může vložení nového řádku narušit vzorec Hlookup, vzpomeňte si, jak Excel HLOOKUP získává informace o hodnotě vyhledávání - na základě zadaného čísla indexu řádku.

    Předpokládejme, že chcete získat údaje o prodeji na základě ID produktu. Tyto údaje jsou v řádku 4, takže do pole zadejte 4. row_index_num argument. Ale po vložení nového řádku se z něj stane řádek 5... a váš Hlookup přestane fungovat. Stejný problém může nastat při odstranění existujícího řádku z tabulky.

    Řešením je buď tabulku uzamknout, aby uživatelé nemohli vkládat nové řádky, nebo místo Hlookup použít INDEX & MATCH. Ve vzorcích Index/Match zadáváte řádky, které mají být vyhledány a z nichž mají být vráceny hodnoty, jako odkazy na rozsah, nikoli jako čísla indexů, a Excel je dostatečně inteligentní, aby tyto odkazy upravil za běhu.se starat o aktualizaci každého vzorce v pracovním listu.

    5. Duplikáty v tabulce

    Funkce HLOOKUP v aplikaci Excel může vrátit pouze jednu hodnotu, a to první hodnotu v tabulce, která odpovídá hodnotě vyhledávání.

    Pokud je v tabulce několik stejných záznamů, vyberte jedno z následujících řešení, které nejlépe vyhovuje vašim potřebám:

    • Odstranění duplicit pomocí prostředků aplikace Excel nebo našeho nástroje pro odstranění duplicit.
    • Pokud mají být v datovém souboru zachovány duplicitní záznamy, vytvořte PivotTable a seskupte a filtrujte data požadovaným způsobem.
    • Použijte vzorec pole pro extrakci všech duplicitních hodnot v rozsahu vyhledávání.

    6. Prostory navíc

    Pokud váš zjevně správný vzorec Hlookup vrací hromadu chyb #N/A, zkontrolujte, zda vaše tabulka a hodnota vyhledávání neobsahují mezery navíc. Pomocí funkce TRIM aplikace Excel nebo našeho nástroje Cell Cleaner můžete rychle odstranit počáteční, koncové a nadbytečné mezery.

    7. Čísla formátovaná jako text

    Dalším kamenem úrazu vzorců aplikace Excel jsou textové řetězce, které vypadají jako čísla. Podrobný popis tohoto problému a možná řešení jsou popsána v článku Proč mohou vzorce aplikace Excel přestat fungovat.

    8. Hodnota vyhledávání přesahuje 255 znaků

    Všechny vyhledávací funkce v aplikaci Excel fungují pouze do té doby, dokud je vyhledávací hodnota menší než 255 znaků. Delší vyhledávací hodnota vede k chybě #VALUE! Protože vzorec INDEX /MATCH je bez tohoto omezení, použijte jej k překonání této překážky.

    9. Není zadána úplná cesta k vyhledávacímu sešitu

    Pokud provádíte h-lookup z jiného sešitu, nezapomeňte uvést celou cestu k němu. Několik příkladů vzorců najdete zde: Jak provést h-lookup z jiného listu nebo sešitu.

    10. Špatné argumenty

    Již vícekrát bylo zdůrazněno, že HLOOKUP je náročná funkce, se kterou je třeba zacházet velmi opatrně. Níže uvádíme několik nejčastějších chyb způsobených zadáním nesprávných argumentů:

    • Pokud je číslo_indexu_řádku menší než 1, funkce HLOOKUP vrátí chybu #VALUE!.
    • Pokud je číslo_indexu_řádku větší než počet řádků v poli_tabulky, je vrácena chyba #REF!.
    • Pokud hledáte s přibližnou shodou a vaše hodnota lookup_value je menší než nejmenší hodnota v prvním řádku pole table_array, vrátí se chyba #N/A.

    Tak, to je návod, jak používat HLOOKUP v Excelu. Doufám, že vám tyto informace pomohou. Děkuji vám za přečtení a doufám, že se uvidíme na našem blogu příští týden!

    Stáhnout cvičebnici

    Příklady vzorců Excel HLOOKUP

    Michael Brown je oddaný technologický nadšenec s vášní pro zjednodušování složitých procesů pomocí softwarových nástrojů. S více než desetiletými zkušenostmi v technologickém průmyslu zdokonalil své dovednosti v aplikacích Microsoft Excel a Outlook a také v Tabulkách a Dokumentech Google. Michaelův blog je věnován sdílení jeho znalostí a odborných znalostí s ostatními a poskytuje snadno pochopitelné tipy a návody pro zlepšení produktivity a efektivity. Ať už jste zkušený profesionál nebo začátečník, Michaelův blog nabízí cenné postřehy a praktické rady, jak tyto základní softwarové nástroje co nejlépe využít.