Obsah
Ako pravdepodobne viete, Microsoft Excel má tri funkcie na vyhľadávanie hodnôt - LOOKUP, VLOOKUP a HLOOKUP - a zdá sa, že používateľov najviac mätú. V tomto návode sa zameriame na špecifiká funkcie Excel HLOOKUP a rozoberieme niekoľko príkladov vzorcov, ktoré vám pomôžu čo najefektívnejšie ju v Exceli používať.
Čo je HLOOKUP v programe Excel?
Funkcia Excel HLOOKUP je určená na horizontálne vyhľadávanie Presnejšie, vyhľadá určitú hodnotu v prvom riadku tabuľky a vráti inú hodnotu v tom istom stĺpci z riadku, ktorý zadáte.
Funkcia HLOOKUP je k dispozícii vo všetkých verziách aplikácie Microsoft Excel 2016, Excel 2013, Excel 2010, Excel 2007 a nižších.
Syntax a použitie programu Excel HLOOKUP
Funkcia HLOOKUP v programe Excel má nasledujúce argumenty:
HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])- Lookup_value (povinné) - hodnota, ktorá sa má vyhľadať. Môže to byť odkaz na bunku, číselná hodnota alebo textový reťazec.
- Table_array (povinné) - dva alebo viac riadkov údajov, v ktorých sa hľadá hodnota vyhľadávania. Môže to byť bežný rozsah, pomenovaný rozsah alebo tabuľka. Hodnoty vyhľadávania by sa mali vždy nachádzať v prvý riadok z table_array .
- Row_index_num (povinné) - číslo riadku v tabuľke table_array, z ktorého sa má vrátiť hodnota. Ak chcete napríklad vrátiť zodpovedajúcu hodnotu z 2. riadku, nastavte číslo riadku row_index_num na 2 atď.
- Range_lookup (nepovinné) - logická (logická) hodnota, ktorá prikazuje HLOOKUP vyhľadávať s presnou alebo približnou zhodou.
Ak je TRUE alebo je vynechaný, približný To znamená, že ak sa nenájde presná zhoda, vzorec Hlookup vykoná nepresnú zhodu a vráti ďalšiu najväčšiu hodnotu, ktorá je menšia ako hodnota lookup_value.
Ak je FALSE, iba presná zhoda Ak sa žiadna hodnota v zadanom riadku presne nezhoduje s hodnotou vyhľadávania, HLOOKUP vyhodí chybu #N/A.
Pre ľahšie pochopenie môžete syntax HLOOKUP programu Excel preložiť:
HLOOKUP( lookup_value , table_array , row_index_num , [range_lookup])do normálnej angličtiny:
HLOOKUP( vyhľadajte túto hodnotu , v tejto tabuľke , vrátiť hodnotu z tohto riadku , [vrátiť približnú alebo presnú zhodu])Aby ste videli, ako to funguje v praxi, vytvorme si jednoduchý príklad Hlookup-u. Predpokladajme, že máte tabuľku so základnými informáciami o planétach našej slnečnej sústavy (pozri obrázok nižšie). Chcete vzorec, ktorý vráti priemer planéty, ktorej názov je zadaný v bunke B5.
V našom vzorci Hlookup budeme používať nasledujúce argumenty:
- Lookup_value je B5 - bunka obsahujúca názov planéty, ktorú chcete nájsť.
- Table_array je B2:I3 - tabuľka, v ktorej vzorec vyhľadá hodnotu.
- Row_index_num je 2, pretože Diameter je 2. riadok tabuľky.
- Range_lookup je FALSE. Keďže prvý riadok našej tabuľky nie je zoradený od A po Z, môžeme vyhľadávať len pomocou presnej zhody, čo v tomto príklade funguje dobre.
Teraz spojte argumenty a dostanete nasledujúci vzorec:
=VLOOKUP(40, A2:B15,2)
3 veci, ktoré by ste mali vedieť o funkcii Excel HLOOKUP
Pri každom horizontálnom vyhľadávaní v programe Excel nezabudnite na nasledujúce skutočnosti:
- Funkcia HLOOKUP môže vyhľadávať iba v najvyšší riadok z table_array Ak potrebujete vyhľadať niečo iné, zvážte použitie vzorca Index / Match.
- HLOOKUP v programe Excel je rozlišovanie veľkých a malých písmen , nerozlišuje veľké a malé písmená.
- Ak range_lookup je nastavená na TRUE alebo vynechaná ( približný ), hodnoty v prvom riadku table_array musia byť zoradené v vzostupné poradie (A-Z) zľava doprava.
Aký je rozdiel medzi VLOOKUP a HLOOKUP v programe Excel?
Ako už viete, obe funkcie VLOOKUP aj HLOOKUP vyhľadávajú hľadanú hodnotu. Rozdiel je v spôsobe vyhľadávania. Ako ste si asi všimli, názvy funkcií sa líšia len prvým písmenom - "H" znamená horizontálne a "V" vertikálne.
Preto na vyhľadávanie používate funkciu VLOOKUP je vertikálne zoznamy, keď sa hodnoty vyhľadávania nachádzajú v stĺpci naľavo od údajov, ktoré chcete nájsť.
Funkcia HLOOKUP vykoná horizontálne vyhľadávanie - vyhľadá vyhľadávaciu hodnotu v najvyššom riadku tabuľky a vráti hodnotu, ktorá sa nachádza o určitý počet riadkov nižšie v tom istom stĺpci.
Nasledujúci obrázok demonštruje rozdiel medzi vzorcami Vlookup a Hlookup v programe Excel:
Ako používať HLOOKUP v programe Excel - príklady vzorcov
Teraz, keď vám funkcia HLOOKUP začala pripadať trochu známejšia, preberieme si niekoľko ďalších príkladov vzorcov na upevnenie vedomostí.
Horizontálne vyhľadávanie s približnou a presnou zhodou
Ako už viete, funkcia HLOOKUP v programe Excel môže vykonať vyhľadávanie s presnou a nepresnou zhodou v závislosti od toho, aká hodnota je zadaná do funkcie range_lookup argument:
- TRUE alebo vynechané - približný zápas
- FALSE - presný zápas
Majte na pamäti, že hoci hovoríme "približná zhoda", každý vzorec Hlookup hľadá v prvom rade presnú zhodu. Ale nastavenie posledného argumentu na FALSE umožňuje vzorcu vrátiť približnú zhodu (najbližšiu hodnotu, ktorá je menšia ako hodnota vyhľadávania), ak sa nenájde presná zhoda; TRUE alebo vynechanie vráti v tomto prípade chybu #N/A.
Na lepšiu ilustráciu si uveďte nasledujúce príklady HLOOKUP.
HLOOKUP s približnou zhodou
Predpokladajme, že máte zoznam planét v riadku 2 (B2:I2) a ich teploty v riadku 1 (B1:I1). Chcete zistiť, ktorá planéta má určitú teplotu, ktorá je zadaná v bunke B4.
Nemôžete sa spoliehať na to, že používatelia budú presne poznať teplotu vyhľadávania, preto má zmysel vrátiť najbližšia zhoda ak sa nenájde presná hodnota.
Ak chcete napríklad zistiť planétu, ktorej priemerná teplota je približne -340 °F, použite nasledujúci vzorec ( range_lookup nastaviť na TRUE alebo vynechať ako v tomto príklade):
=HLOOKUP(B4, B1:I2, 2)
Nezabudnite, že približná zhoda si vyžaduje zoradenie hodnôt v hornom riadku od najmenšej po najväčšiu alebo od A po Z, inak môže vzorec Hlookup vrátiť nesprávny výsledok.
Ako vidíte na obrázku nižšie, náš vzorec vracia Urán , jedna z najchladnejších planét Slnečnej sústavy, ktorá si udržiava priemernú teplotu -346 stupňov Fahrenheita.
HLOOKUP s presnou zhodou
Ak presne poznáte hodnotu vyhľadávania, môžete posledný parameter HLOOKUP nastaviť na FALSE:
=HLOOKUP(B4, B1:I2, 2, FALSE)
Na jednej strane je približná zhoda Hlookup užívateľsky prívetivejšia, pretože nevyžaduje triedenie údajov v prvom riadku. Na druhej strane, ak sa nenájde presná zhoda, vráti sa chyba #N/A.
Tip. Aby ste používateľov nevystrašili chybami N/A, môžete svoj vzorec Hlookup vložiť do IFERROR a zobraziť napríklad vlastnú správu:
=IFERROR(HLOOKUP(B4, B1:I2, 2, FALSE), "Prepáčte, nič sa nenašlo")
Ako vykonať HLOOKUP z iného pracovného hárka alebo zošita
Vo všeobecnosti h-lookup z iného hárku alebo iného zošita neznamená nič iné, ako dodanie externých odkazov na váš vzorec HLOOKUP.
Vytiahnutie zodpovedajúcich údajov z iný pracovný hárok , uvediete názov hárku, za ktorým nasleduje výkričník. Napríklad:
=HLOOKUP(B$1, Diameters!$B$1:$I$2,2,FALSE)
Ak názov pracovného hárka obsahuje priestory alebo nealfabetické znaky , uzavrite názov do jednoduchých úvodzoviek, napríklad takto:
=HLOOKUP(B$1, 'Planet diameters'!$B$1:$I$2,2,FALSE)
Pri odkazovaní ďalší zošit , uveďte názov zošita v hranatých zátvorkách:
=HLOOKUP(B$1, [Book1.xlsx]Priemery!$B$1:$I$2, 2, FALSE)
Ak sťahujete údaje z uzavretého zošita, mala by sa uviesť celá cesta:
=HLOOKUP(B$1, 'D:\Reports\[Book1.xlsx]Priemery'!$B$1:$I$2, 2, FALSE)
Tip: Namiesto ručného zadávania názvov zošitov a hárkov do vzorca môžete vybrať bunky v inom hárku a Excel automaticky pridá externý odkaz do vášho vzorca.
Excel HLOOKUP s čiastočnou zhodou (zástupné znaky)
Podobne ako v prípade VLOOKUP, aj funkcia HLOOKUP programu Excel umožňuje používať v zadávacom poli nasledujúce zástupné znaky lookup_value argument:
- Otáznik (?) na porovnanie s ľubovoľným jedným znakom
- Hviezdička (*) na porovnanie s ľubovoľnou postupnosťou znakov
Zástupné znaky sa hodia, keď chcete vytiahnuť informácie z databázy na základe textu, ktorý je súčasťou obsahu bunky vyhľadávania.
Napríklad máte zoznam mien zákazníkov v riadku 1 a ID objednávok v riadku 2. Chcete nájsť ID objednávky pre konkrétneho zákazníka, ale nemôžete si presne zapamätať meno zákazníka, hoci si pamätáte, že začína na "ace".
Za predpokladu, že vaše údaje sú v bunkách B1:I2 ( table_array) a poradové čísla sú v riadku 2 ( row_index_num ), vzorec je nasledovný:
=HLOOKUP("ace*", B1:I2, 2, FALSE)
Aby bol vzorec flexibilnejší, môžete zadať vyhľadávaciu hodnotu do špeciálnej bunky, napríklad B4, a spojiť túto bunku so zástupným znakom takto:
=HLOOKUP(B4& "*", B1:I2, 2, FALSE)
Poznámky.
- Aby vzorec HLOOKUP so zástupnými znakmi fungoval správne, musí range_lookup argument je potrebné nastaviť na hodnotu FALSE.
- Ak table_array obsahuje viac ako jednu hodnotu, ktorá spĺňa kritériá zástupného symbolu, vráti sa prvá nájdená hodnota.
Absolútne a relatívne odkazy na bunky vo vzorcoch HLOOKUP
Ak píšete vzorec pre jednu bunku, nemusíte si robiť starosti so správnym používaním relatívnych a absolútnych odkazov na bunku, postačí vám ktorýkoľvek z nich.
Kopírovanie vzorca do viacerých buniek je iný príbeh. V podstate:
- Vždy by ste mali opraviť table_array pomocou absolútnych odkazov na bunky so znakom dolára ($), napríklad $B$1:$I$2.
- Zvyčajne sa lookup_value odkaz je relatívny alebo zmiešaný v závislosti od vašej obchodnej logiky.
Aby bolo všetko jasnejšie, pozrime sa bližšie na vzorec, ktorý čerpá údaje z iného hárku:
=HLOOKUP(B$1, Diameters!$B$1:$I$2,2,FALSE)
Vo vyššie uvedenom vzorci používame absolútne odkazy na bunky ($B$1:$I$2) v table_array pretože by mal zostať konštantný, keď sa vzorec skopíruje do iných buniek.
Pre lookup_value (B$1), používame a zmiešané odkaz, relatívny stĺpec a absolútny riadok, pretože naše vyhľadávacie hodnoty (názvy planét) sú v tom istom riadku (riadok 1), ale v rôznych stĺpcoch (od B po I) a odkaz na stĺpec by sa mal zmeniť na základe relatívnej polohy bunky, do ktorej sa vzorec skopíroval.
Vďaka šikovnému použitiu odkazov na bunky funguje náš vzorec Hlookup dokonale pre viac buniek:
INDEX/MATCH - výkonnejšia alternatíva k HLOOKUP aplikácie Excel
Ako už viete, funkcia HLOOKUP v programe Excel má niekoľko obmedzení, z ktorých najvýznamnejšie sú nemožnosť vyhľadávať kdekoľvek okrem najvyššieho riadku a nutnosť triediť hodnoty pri vyhľadávaní pomocou približnej zhody.
Našťastie v programe Excel existuje výkonnejšia a všestrannejšia alternatíva k funkciám Vlookup a Hlookup - spojenie funkcií INDEX a MATCH, ktoré spočíva v tomto všeobecnom vzorci:
INDEX ( kde vrátiť hodnotu z , MATCH ( vyhľadávacia hodnota , kde hľadať , 0))Za predpokladu, že hodnota vyhľadávania je v bunke B7, hľadáte zhodu v riadku 2 (B2:I2) a chcete vrátiť hodnotu z riadku 1 (B1:I1), vzorec je nasledujúci:
=INDEX(B1:I1,MATCH(B7,B2:I2,0))
Na nasledujúcom obrázku môžete vidieť 2 vzorce Hlookup, ktoré vyhľadávajú v prvom a druhom riadku, a v oboch prípadoch funguje INDEX MATCH rovnako dobre.
Podrobné vysvetlenie logiky vzorca a ďalšie príklady nájdete v časti INDEX MATCH ako lepšia alternatíva k VLOOKUP.
Ako v programe Excel vykonať h-vyhľadávanie s rozlišovaním veľkých a malých písmen
Ako bolo spomenuté na začiatku tohto návodu, funkcia Excel HLOOKUP nerozlišuje veľké a malé písmená. V situáciách, keď na veľkosti písmen záleží, môžete použiť funkciu EXACT, ktorá presne porovnáva bunky, a umiestniť ju do vzorca INDEX MATCH, o ktorom sme hovorili v predchádzajúcom príklade:
INDEX ( riadok na vrátenie hodnoty z , MATCH(TRUE, EXACT( riadok na vyhľadávanie , vyhľadávacia hodnota) , 0))Za predpokladu, že hodnota vyhľadávania je v bunke B4, rozsah vyhľadávania je B1:I1 a rozsah vrátenia je B2:I2, vzorec má nasledujúci tvar:
=INDEX(B2:I2, MATCH(TRUE, EXACT(B1:I1,B4),0))
Dôležité upozornenie! Je to vzorec poľa, a preto by ste ho mali dokončiť stlačením klávesovej skratky Ctrl + Shift + Enter.
Vyššie uvedený príklad demonštruje môj obľúbený, ale nie jediný možný spôsob, ako v Exceli vykonať Hlookup s rozlišovaním veľkých a malých písmen. Ak ste zvedaví na ďalšie techniky, pozrite si tento návod: 4 spôsoby, ako v Exceli vykonať Vlookup s rozlišovaním veľkých a malých písmen. Myslím, že s prestavbou vzorcov Vlookup pre horizontálny lookup nebudete mať žiadne problémy.
10 hlavných dôvodov, prečo Excel HLOOKUP nefunguje
Teraz už viete, že Hlookup je veľmi užitočná a výkonná vyhľadávacia funkcia v programe Excel. Zároveň je to funkcia zložitá a kvôli jej mnohým špecifikám sú chyby #N/A, #VALUE alebo #REF častým javom. Ak váš vzorec HLOOKUP nefunguje správne, s najväčšou pravdepodobnosťou je to z jedného z nasledujúcich dôvodov.
1. HLOOKUP v programe Excel sa nemôže pozrieť nad seba
Aj keď zabudnete na všetky ostatné podrobnosti o horizontálnom vyhľadávaní v programe Excel, nezabudnite na túto podstatnú informáciu - Hlookup môže vyhľadávať len v najvyšší riadok tabuľky. V prípade, že sa vaše hodnoty vyhľadávania nachádzajú v inom riadku, vráti sa chyba N/A. Ak chcete toto obmedzenie prekonať, použite vzorec INDEX MATCH.
2. Približná a presná zhoda
Pri vyhľadávaní v programe Excel, či už horizontálnom (Hlookup) alebo vertikálnom (Vlookup), vo väčšine prípadov hľadáte konkrétnu vec, a preto vyžadujete presnú zhodu. Pri vyhľadávaní s približnou zhodou ( range_lookup nastavené na TRUE alebo vynechané), nezabudnite hodnoty v prvom riadku zoradiť vzostupne.
Ďalšie informácie a príklady vzorcov nájdete v časti Excel Hlookup s približnou a presnou zhodou.
3. Pri kopírovaní vzorca sa zmení odkaz na tabuľkové pole
Pri použití viacerých HLOOKUP na získanie informácií o riadku hodnôt vyhľadávania je potrebné uzamknúť table_array ako je uvedené v časti Absolútne a relatívne odkazy na bunky vo vzorcoch Hlookup.
4. Vloženie alebo odstránenie nového riadku
Aby ste pochopili, prečo môže vloženie nového riadku narušiť vzorec Hlookup, spomeňte si, ako Excel HLOOKUP získava informácie o hodnote vyhľadávania - na základe zadaného čísla indexu riadku.
Predpokladajme, že chcete získať údaje o predaji na základe ID produktu. Tieto údaje sa nachádzajú v riadku 4, takže do políčka row_index_num argument. Ale po vložení nového riadku sa z neho stane riadok 5... a váš Hlookup prestane fungovať. Rovnaký problém môže nastať pri vymazaní existujúceho riadku z tabuľky.
Riešením je buď tabuľku uzamknúť, aby ste používateľom zabránili vkladať nové riadky, alebo namiesto Hlookup použiť INDEX & MATCH. Vo vzorcoch Index/Match zadávate riadky, ktoré sa majú vyhľadať a z ktorých sa majú vrátiť hodnoty, ako odkazy na rozsah, nie ako čísla indexov, a Excel je dostatočne inteligentný na to, aby tieto odkazy upravil za chodu.sa starať o aktualizáciu každého vzorca v pracovnom hárku.
5. Duplikáty v tabuľke
Funkcia HLOOKUP v programe Excel môže vrátiť iba jednu hodnotu, ktorou je prvá hodnota v tabuľke, ktorá zodpovedá hodnote vyhľadávania.
Ak je v tabuľke niekoľko rovnakých záznamov, vyberte si jedno z nasledujúcich riešení, ktoré najlepšie vyhovuje vašim potrebám:
- Odstránenie duplikátov pomocou prostriedkov programu Excel alebo nášho programu na odstraňovanie duplikátov
- Ak by sa v súbore údajov mali zachovať duplicitné záznamy, vytvorte si PivotTable, aby ste mohli zoskupiť a filtrovať údaje požadovaným spôsobom.
- Na extrakciu všetkých duplicitných hodnôt v rozsahu vyhľadávania použite vzorec poľa.
6. Dodatočné priestory
Keď váš zjavne správny vzorec Hlookup vráti množstvo chýb #N/A, skontrolujte, či vaša tabuľka a hodnota Hlookup neobsahujú ďalšie medzery. Pomocou funkcie Excel TRIM alebo nášho nástroja Cell Cleaner môžete rýchlo odstrániť úvodné, koncové a nadbytočné medzery.
7. Čísla formátované ako text
Textové reťazce, ktoré vyzerajú ako čísla, sú ďalším kameňom úrazu pre vzorce programu Excel. Podrobný opis tohto problému a možné riešenia sú opísané v článku Prečo vzorce programu Excel môžu prestať fungovať.
8. Hodnota vyhľadávania presahuje 255 znakov
Všetky vyhľadávacie funkcie v programe Excel fungujú len dovtedy, kým je vyhľadávacia hodnota menšia ako 255 znakov. Dlhšia vyhľadávacia hodnota vedie k chybe #VALUE! Keďže vzorec INDEX /MATCH je bez tohto obmedzenia, použite ho na prekonanie tejto prekážky.
9. Nie je zadaná úplná cesta k vyhľadávaciemu zošitu
Ak vykonávate h-lookup z iného zošita, nezabudnite uviesť celú cestu k nemu. Niekoľko príkladov vzorcov nájdete tu: Ako vykonať h-lookup z iného hárka alebo zošita.
10. Nesprávne argumenty
Už viackrát bolo zdôraznené, že HLOOKUP je náročná funkcia, s ktorou treba zaobchádzať veľmi opatrne. Nižšie uvádzame niekoľko najčastejších chýb spôsobených zadaním nesprávnych argumentov:
- Ak je číslo_indexu_riadku menšie ako 1, funkcia HLOOKUP vráti chybu #VALUE!.
- Ak je riadok_index_num väčší ako počet riadkov v tabuľke_array, vráti sa chyba #REF!.
- Ak vyhľadávate pomocou približnej zhody a vaša hodnota lookup_value je menšia ako najmenšia hodnota v prvom riadku table_array, vráti sa chyba #N/A.
Tak, toto je návod na použitie HLOOKUP v programe Excel. Dúfam, že vám tieto informácie pomôžu. Ďakujem za prečítanie a dúfam, že sa uvidíme na našom blogu budúci týždeň!
Stiahnite si cvičebnicu
Príklady vzorca Excel HLOOKUP