Tartalomjegyzék
Mint azt valószínűleg tudja, a Microsoft Excelnek három funkciója van egy érték keresésére - LOOKUP, VLOOKUP és HLOOKUP -, és úgy tűnik, ezek zavarják össze leginkább a felhasználókat. Ebben a bemutatóban az Excel HLOOKUP funkciójának sajátosságaira összpontosítunk, és néhány képletpéldát tárgyalunk, amelyek segítségével a leghatékonyabban használhatja az Excelben.
Mi a HLOOKUP az Excelben?
Az Excel HLOOKUP funkciót a következőkre tervezték vízszintes keresés Pontosabban, egy bizonyos értéket keres a táblázat első sorában, és visszaad egy másik értéket ugyanabban az oszlopban egy megadott sorból.
A HLOOKUP funkció a Microsoft Excel 2016, Excel 2013, Excel 2010, Excel 2007 és alacsonyabb verziókban érhető el.
Excel HLOOKUP szintaxis és felhasználások
Az Excel HLOOKUP funkciójának a következő argumentumai vannak:
HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])- Lookup_value (kötelező) - a keresendő érték, amely lehet cellahivatkozás, numerikus érték vagy szöveges karakterlánc.
- Table_array (kötelező) - két vagy több adatsor, amelyben a keresési értéket keresik. Lehet szabályos tartomány, nevesített tartomány vagy táblázat. A keresési értékeket mindig a első sor a table_array .
- Row_index_num (kötelező) - a table_array azon sorszáma, amelyből az értéket vissza kell adni. Például, ha a 2. sorból szeretnénk visszaadni a megfelelő értéket, akkor a row_index_num értékét állítsuk 2-re, és így tovább.
- Range_lookup (opcionális) - egy logikai (bólés) érték, amely a HLOOKUP-ot arra utasítja, hogy pontos vagy közelítő egyezéssel keressen.
Ha TRUE vagy elhagyja, egy megközelítőleg Ez azt jelenti, hogy ha nem talál pontos egyezést, a Hlookup-képlet nem pontos egyezést fog végezni, és a következő legnagyobb értéket adja vissza, amely kisebb, mint a lookup_value.
Ha FALSE, csak egy pontos egyezés Ha egy megadott sorban nincs olyan érték, amely pontosan megfelel a keresési értéknek, a HLOOKUP a #N/A hibát dobja.
A könnyebb megértés érdekében lefordíthatja az Excel HLOOKUP szintaxisát:
HLOOKUP( lookup_value , table_array , row_index_num , [range_lookup])normál angolra:
HLOOKUP( keresse meg ezt az értéket , ebben a táblázatban , visszaad egy értéket ebből a sorból , [közelítő vagy pontos egyezést ad vissza])Hogy lássuk, hogyan működik a gyakorlatban, készítsünk egy egyszerű Hlookup példát. Tegyük fel, hogy van egy táblázatunk, amely tartalmaz néhány alapvető információt a Naprendszerünk bolygóiról (lásd az alábbi képernyőképet). Egy olyan képletet szeretnénk, amely visszaadja annak a bolygónak az átmérőjét, amelynek a neve a B5 cellába van beírva.
A Hlookup képletben a következő argumentumokat fogjuk használni:
- Lookup_value a B5 - a keresett bolygó nevét tartalmazó cella.
- Table_array B2:I3 - a táblázat, ahol a képlet az értéket keresi.
- Row_index_num 2, mert a Diameter a táblázat 2. sora.
- Range_lookup FALSE. Mivel a táblázatunk első sora nincs A-tól Z-ig rendezve, csak pontos egyezéssel tudunk keresni, ami ebben a példában jól működik.
Most az érveket összerakva a következő képletet kapjuk:
=VLOOKUP(40, A2:B15,2)
3 dolog, amit tudnia kell az Excel HLOOKUP funkcióról
Amikor vízszintes keresést végez az Excelben, ne feledje a következő tényeket:
- A HLOOKUP funkció csak az alábbi listában tud keresni legfelső sor a table_array Ha máshol kell keresnie, fontolja meg az Index / Match formula használatát.
- A HLOOKUP az Excelben a következő case-insensitive , nem tesz különbséget a kis- és nagybetűk között.
- Ha range_lookup TRUE értékre van állítva vagy elhagyva ( megközelítőleg egyezik), az értékek az első sorban a table_array rendezni kell a növekvő sorrendben (A-Z) balról jobbra.
Mi a különbség a VLOOKUP és a HLOOKUP között az Excelben?
Mint már tudod, a VLOOKUP és a HLOOKUP függvények is keresnek egy keresési értéket. A különbség a keresés módjában van. Ahogy valószínűleg észrevetted, a függvények neve csak az első betűben különbözik - a "H" a vízszintes, a "V" pedig a függőleges értéket jelenti.
Ezért a VLOOKUP funkciót használja a kereséshez. függőleges listák, amikor a keresési értékek a keresendő adatok bal oldalán lévő oszlopban találhatók.
A HLOOKUP függvény egy vízszintes keresés - a táblázat legfelső sorában keres egy keresési értéket, és ugyanabban az oszlopban, meghatározott számú sorral lejjebb található értéket ad vissza.
A következő kép mutatja a Vlookup és Hlookup képletek közötti különbséget az Excelben:
A HLOOKUP használata az Excelben - képletpéldák
Most, hogy a HLOOKUP függvény már egy kicsit ismerősebbnek tűnik, beszéljünk meg még néhány képletpéldát, hogy megszilárdítsuk a tudást.
Vízszintes keresés közelítő és pontos egyezéssel
Mint már tudja, az Excel HLOOKUP függvénye pontos és nem pontos egyezéssel is végezhet keresést attól függően, hogy melyik értéket adta meg a range_lookup érv:
- TRUE vagy elhagyva - megközelítőleg mérkőzés
- FALSE - pontos mérkőzés
Ne feledje, hogy bár azt mondjuk, hogy "hozzávetőleges egyezés", minden Hlookup formula elsősorban pontos egyezést keres. De az utolsó argumentum FALSE-ra állítása lehetővé teszi, hogy a formula egy hozzávetőleges egyezést adjon vissza (a legközelebbi értéket, amely kisebb, mint a keresési érték), ha nem talál pontos egyezést; TRUE vagy elhagyva a #N/A hibát adja vissza ebben az esetben.
Hogy jobban szemléltesse a lényeget, tekintse meg a következő HLOOKUP példákat.
HLOOKUP közelítő egyezéssel
Tegyük fel, hogy van egy lista a bolygókról a 2. sorban (B2:I2) és a hőmérsékletük az 1. sorban (B1:I1). Meg akarjuk találni, hogy melyik bolygónak van egy bizonyos hőmérséklete, amely a B4-es cellában van megadva.
Nem bízhatsz abban, hogy a felhasználók pontosan ismerik a keresési hőmérsékletet, ezért érdemes egy legközelebbi egyezés ha nem talál pontos értéket.
Például, ha meg akarjuk találni azt a bolygót, amelynek átlaghőmérséklete -340 °F körül van, használjuk a következő képletet ( range_lookup TRUE-ra állítva vagy elhagyva, mint ebben a példában):
=HLOOKUP(B4, B1:I2, 2)
Ne feledje, hogy a közelítő egyezéshez a felső sorban lévő értékeket a legkisebbtől a legnagyobbig vagy A-tól Z-ig kell rendezni, különben a Hlookup formula rossz eredményt adhat vissza.
Amint az alábbi képernyőképen látható, a képletünk a következőt adja vissza Uránusz a Naprendszer egyik leghidegebb bolygója, amely átlagosan -346 Fahrenheit-fokot tart fenn.
HLOOKUP pontos egyezéssel
Ha pontosan ismeri a keresési értéket, akkor a HLOOKUP utolsó paraméterét FALSE értékre állíthatja:
=HLOOKUP(B4, B1:I2, 2, FALSE)
Egyrészt a közelítő egyezésű Hlookup felhasználóbarátabb, mert nem kell az adatokat az első sorban rendezni. Másrészt, ha a pontos egyezés nem található, akkor egy #N/A hibát kapunk vissza.
Tipp: Hogy ne ijessze meg a felhasználókat az N/A hibákkal, a Hlookup képletet beágyazhatja IFERROR-ba, és megjelenítheti például a saját üzenetét:
=IFERROR(HLOOKUP(B4, B1:I2, 2, FALSE), "Sajnálom, nem találtunk semmit")
HLOOKUP végrehajtása egy másik munkalapból vagy munkafüzetből
Általában a más lapról vagy másik munkafüzetből történő h-lookup nem jelent mást, mint külső hivatkozásokkal ellátni a HLOOKUP képletet.
Megfelelő adatok kinyerése egy más munkalap , akkor a lap nevét egy felkiáltójellel követve adja meg. Például:
=HLOOKUP(B$1, Átmérők!$B$1:$I$2,2,FALSE)
Ha a munkalap neve tartalmazza a terek vagy nem ábécés karakterek , a nevet szimpla idézőjelek közé kell zárni, így:
=HLOOKUP(B$1, 'Planet diameters'!$B$1:$I$2,2,FALSE)
Hivatkozáskor egy másik munkafüzet , tartalmazza a munkafüzet nevét szögletes zárójelben:
=HLOOKUP(B$1, [Book1.xlsx]Átmérők!$B$1:$I$2, 2, FALSE)
Ha egy lezárt munkafüzetből húzza ki az adatokat, a teljes elérési utat meg kell adni:
=HLOOKUP(B$1, 'D:\Reports\[Book1.xlsx]Diameters'!$B$1:$I$2, 2, FALSE)
Tipp: Ahelyett, hogy a munkafüzet és a munkalap nevét kézzel írná be a képletbe, kijelölheti a cellákat egy másik lapon, és az Excel automatikusan hozzáad egy külső hivatkozást a képlethez.
Excel HLOOKUP részleges egyezéssel (helyettesítő karakterek)
A VLOOKUP-hoz hasonlóan az Excel HLOOKUP függvénye is lehetővé teszi a következő helyettesítő karakterek használatát az alábbi karakterek használatával a lookup_value érv:
- Kérdőjel (?), hogy bármelyik karakterre illeszkedjen
- Asterisk (*) bármely karaktersorozatra
A helyettesítő karakterek akkor jöhetnek jól, ha a keresőcella tartalmának részét képező szöveg alapján szeretne információt kinyerni egy adatbázisból.
Például az 1. sorban van egy lista az ügyfelek neveivel, a 2. sorban pedig a rendelésazonosítókkal. Egy adott ügyfél rendelési azonosítóját szeretné megtalálni, de nem emlékszik pontosan az ügyfél nevére, bár arra emlékszik, hogy "ace" betűvel kezdődik.
Feltételezve, hogy az adatok a B1:I2 cellákban vannak ( table_array) és a rendelési számok a 2. sorban ( row_index_num ), a képlet a következő:
=HLOOKUP("ace*", B1:I2, 2, FALSE)
A képlet rugalmasabbá tétele érdekében a keresési értéket beírhatja egy speciális cellába, mondjuk a B4-be, és ezt a cellát összekapcsolhatja a joker karakterrel, például így:
=HLOOKUP(B4& "*", B1:I2, 2, FALSE)
Megjegyzések.
- Ahhoz, hogy a helyettesítő HLOOKUP formula helyesen működjön, a range_lookup argumentumot FALSE-ra kell állítani.
- Ha table_array egynél több olyan értéket tartalmaz, amely megfelel a jokerfeltételeknek, az első talált értéket adja vissza a rendszer.
Abszolút és relatív cellahivatkozások HLOOKUP képletekben
Ha egyetlen cellához ír képletet, nem kell aggódnia a relatív és abszolút cellahivatkozások megfelelő használata miatt, bármelyik megfelel.
Egy képlet több cellába történő másolása már más tészta. Lényegében:
- Mindig meg kell javítania table_array abszolút cellahivatkozások használatával, dollárjellel ($), például $B$1:$I$2.
- Jellemzően a lookup_value hivatkozás relatív vagy vegyes, az üzleti logikától függően.
Hogy a dolgok világosabbá váljanak, nézzük meg közelebbről a képletet, amely egy másik lapról veszi az adatokat:
=HLOOKUP(B$1, Átmérők!$B$1:$I$2,2,FALSE)
A fenti képletben a következőket használjuk abszolút cellahivatkozások ($B$1:$I$2) a következő cellákban table_array mert állandónak kell maradnia, amikor a képletet más cellákba másoljuk.
A oldalon. lookup_value (B$1), használjuk a vegyes hivatkozás, relatív oszlop és abszolút sor, mivel a keresési értékeink (bolygónevek) ugyanabban a sorban (1. sor), de különböző oszlopokban (B-től I-ig) vannak, és az oszlophivatkozásnak a másolt képlet cellájának relatív pozíciója alapján kell változnia.
A cellahivatkozások okos használatának köszönhetően a Hlookup képletünk tökéletesen működik több cellára:
INDEX/MATCH - az Excel HLOOKUP erősebb alternatívája
Mint már tudja, az Excelben a HLOOKUP funkciónak számos korlátja van, amelyek közül a legjelentősebbek, hogy a legfelső soron kívül nem tud bárhol máshol keresni, és hogy a közelítő egyezéssel történő kereséskor az értékeket rendezni kell.
Szerencsére létezik egy sokkal erősebb és sokoldalúbb alternatíva az Excelben a Vlookup és a Hlookup helyett - az INDEX és a MATCH függvények kapcsolata, amely az alábbi általános képletben merül ki:
INDEX ( honnan kell visszaadni egy értéket , MATCH ( keresési érték , hol kell keresni , 0))Feltételezve, hogy a keresési érték a B7-es cellában van, a 2. sorban (B2:I2) keres egyezést, és az 1. sorból (B1:I1) szeretne visszaadni egy értéket, a képlet a következő:
=INDEX(B1:I1,MATCH(B7,B2:I2,0))
Az alábbi képernyőképen 2 Hlookup képlet látható, amelyek az első és a második sorban keresnek, és mindkét esetben az INDEX MATCH egyformán jól működik.
A képlet logikájának részletes magyarázatáért és további példákért lásd az INDEX MATCH mint a VLOOKUP jobb alternatívája című részt.
Hogyan készítsünk esetérzékeny h-lookupot az Excelben?
Amint azt a bemutató elején említettük, az Excel HLOOKUP függvénye nem érzékeny az esetekre. Azokban a helyzetekben, amikor a karakterek esetének fontossága számít, az EXACT függvényt, amely pontosan összehasonlítja a cellákat, az előző példában tárgyalt INDEX MATCH képletbe helyezheti:
INDEX ( sor, hogy visszaadjon egy értéket a , MATCH(TRUE, EXACT( keresendő sor , keresési érték) , 0))Feltételezve, hogy a keresési érték a B4-es cellában van, a keresési tartomány B1:I1, a visszatérési tartomány pedig B2:I2, a képlet a következő alakot veszi fel:
=INDEX(B2:I2, MATCH(TRUE, EXACT(B1:I1,B4),0))
Fontos megjegyzés! Ez egy tömbképlet, ezért a Ctrl + Shift + Enter billentyűkombinációt kell megnyomnia a befejezéshez.
A fenti példa a kedvenc, de nem az egyetlen lehetséges módját mutatja be annak, hogyan lehet az Excelben nagy- és kisbetűs Hlookup-ot készíteni. Ha kíváncsi más technikákra, kérjük, nézze meg ezt a bemutatót: 4 mód, hogyan lehet az Excelben nagy- és kisbetűs Vlookup-ot készíteni. Azt hiszem, nem lesz gondja a Vlookup képletek újraképzésével a vízszintes kereséshez.
Top 10 ok, amiért az Excel HLOOKUP nem működik
Mostanra már tudja, hogy a Hlookup egy nagyon hasznos és hatékony keresőfüggvény az Excelben. Ugyanakkor trükkös is, és számos sajátossága miatt gyakoriak a #N/A, #VALUE vagy #REF hibák. Ha a HLOOKUP képlet nem működik megfelelően, valószínűleg az alábbi okok valamelyike miatt.
1. A HLOOKUP az Excelben nem tud önmagán felül nézni
Még ha el is felejt minden más részletet a vízszintes keresésről az Excelben, ne feledje ezt a lényeges részletet - a Hlookup csak az Excelben kereshet a legfelső sor Ha a keresési értékek más sorban találhatók, a rendszer egy N/A hibaüzenetet küld vissza. E korlátozás kiküszöbölésére használjon INDEX MATCH képletet.
2. Hozzávetőleges egyezés vs. pontos egyezés
Amikor keresést végez az Excelben, akár vízszintesen (Hlookup), akár függőlegesen (Vlookup), a legtöbb esetben egy adott dolgot keres, és ezért pontos egyezést igényel. Ha közelítő egyezéssel keres ( range_lookup TRUE-ra van állítva vagy elhagyva), ne feledje, hogy az első sorban lévő értékeket növekvő sorrendbe rendezze.
További információkért és képletpéldákért lásd: Excel Hlookup közelítő és pontos egyezéssel.
3. A táblázat tömbhivatkozás megváltozik a képlet másolásakor.
Ha több HLOOKUP-ot használunk egy sor keresési értékre vonatkozó információ lekérdezésére, akkor le kell zárnunk a table_array hivatkozás, amint azt az Abszolút és relatív cellahivatkozások a Hlookup képletekben című fejezetben bemutattuk.
4. Új sor beszúrása vagy törlése
Ahhoz, hogy megértsük, hogy egy új sor beszúrása miért törhet meg egy Hlookup-képletet, emlékezzünk arra, hogy az Excel HLOOKUP hogyan kap információt a keresési értékről - a megadott sorindexszám alapján.
Tegyük fel, hogy a termék azonosítója alapján szeretne eladási adatokat kapni. Ezek az adatok a 4. sorban vannak, tehát a 4-es számot írja be a 4-es számot a row_index_num érv. De miután egy új sort beszúrunk, az 5. sor lesz... és a Hlookup nem működik. Ugyanez a probléma akkor is előfordulhat, ha egy meglévő sort törölünk a táblázatból.
A megoldás az, hogy vagy zárolja a táblázatot, hogy a felhasználók ne tudjanak új sorokat beszúrni, vagy a Hlookup helyett INDEX & MATCH-t használjon.Az Index/Match képletekben a keresendő és a visszaadandó értékeket tartományi hivatkozásként, nem indexszámokként adja meg, és az Excel elég okos ahhoz, hogy menet közben kiigazítsa ezeket a hivatkozásokat.a munkalap minden egyes képletének frissítése miatt kell aggódnia.
5. Duplikátumok a táblázatban
Az Excel HLOOKUP függvénye csak egy értéket adhat vissza, amely a táblázat első olyan értéke, amely megfelel a keresési értéknek.
Ha a táblázatban néhány azonos rekord van, válassza az alábbi megoldások közül az egyiket, amelyik a legjobban megfelel az igényeinek:
- Távolítsa el a duplikátumokat az Excel eszközeivel vagy a Duplicate Remover segítségével
- Ha a duplikált rekordokat az adatállományban kell tartani, hozzon létre egy PivotTable-t, hogy az adatokat a kívánt módon csoportosítsa és szűrje.
- Használjon tömbformulát a keresési tartományban lévő összes duplikált érték kinyeréséhez.
6. Extra helyek
Ha a nyilvánvalóan helyes Hlookup-képlet egy csomó #N/A hibát ad vissza, ellenőrizze a táblázatot és a keresési értéket a felesleges szóközökre vonatkozóan. A vezető, a hátul lévő és a felesleges szóközöket gyorsan eltávolíthatja az Excel TRIM funkció vagy a Cell Cleaner eszköz segítségével.
7. Szövegként formázott számok
A számoknak látszó szöveges karakterláncok az Excel-képletek másik akadálya. A probléma részletes leírása és a lehetséges megoldások a Miért nem működnek az Excel-képletek? című fejezetben találhatók.
8. A keresési érték meghaladja a 255 karaktert
Az Excel összes keresési függvénye csak addig működik, amíg a keresési érték 255 karakter alatt van. A hosszabb keresési érték #VALUE! hibát eredményez. Mivel az INDEX /MATCH formula mentes ettől a korlátozástól, használja azt ennek az akadálynak a leküzdésére.
9. A keresési munkafüzet teljes elérési útvonala nincs megadva
Ha egy másik munkafüzetből hajtja végre a h-lookupot, ne feledje megadni a teljes elérési utat. Néhány képletpélda itt található: Hogyan végezhetünk h-lookupot egy másik munkalapból vagy munkafüzetből.
10. Rossz érvek
Már többször is hangsúlyoztuk, hogy a HLOOKUP egy igényes függvény, amelyet nagy körültekintéssel kell kezelni. Az alábbiakban bemutatjuk a leggyakoribb hibákat, amelyeket a helytelen argumentumok megadása okoz:
- Ha a row_index_num kisebb, mint 1, a HLOOKUP függvény a #VALUE! hibát adja vissza.
- Ha a row_index_num nagyobb, mint a table_array sorainak száma, akkor #REF! hiba érkezik.
- Ha közelítő egyezéssel keres, és a lookup_value kisebb, mint a table_array első sorában lévő legkisebb érték, a rendszer #N/A hibát ad vissza.
Nos, ez a HLOOKUP használata az Excelben. Remélhetőleg hasznosnak találja ezeket az információkat. Köszönöm, hogy elolvasta, és remélem, jövő héten találkozunk a blogon!
Gyakorlati munkafüzet letöltése
Excel HLOOKUP képlet példák