Inhoudsopgave
Zoals u waarschijnlijk weet, heeft Microsoft Excel drie functies om een waarde op te zoeken - LOOKUP, VLOOKUP en HLOOKUP - en die lijken de gebruikers het meest in verwarring te brengen. In deze zelfstudie zullen we ons concentreren op de specifieke kenmerken van de HLOOKUP-functie van Excel en een paar formulevoorbeelden bespreken die u zullen helpen deze functie in Excel zo efficiënt mogelijk te gebruiken.
Wat is HLOOKUP in Excel?
De HLOOKUP-functie van Excel is ontworpen voor horizontale opzoeking Meer bepaald zoekt het naar een bepaalde waarde in de eerste rij van de tabel en geeft het een andere waarde terug in dezelfde kolom van een rij die u opgeeft.
De HLOOKUP-functie is beschikbaar in alle versies van Microsoft Excel 2016, Excel 2013, Excel 2010, Excel 2007 en lager.
Excel HLOOKUP syntaxis en gebruik
De HLOOKUP-functie in Excel heeft de volgende argumenten:
HLOOKUP(lookup_value, tabel_array, rij_index_num, [range_lookup])- Lookup_value (vereist) - de waarde waarnaar moet worden gezocht. Het kan een celverwijzing, numerieke waarde of tekststring zijn.
- Tabel_array (vereist) - twee of meer rijen gegevens waarin de lookup-waarde wordt gezocht. Het kan een regulier bereik, een benoemd bereik of een tabel zijn. Lookup-waarden moeten altijd in het eerste rij van tabel_array .
- Rij_index_num (vereist) - het rijnummer in table_array waarvan de waarde moet worden teruggegeven. Bijvoorbeeld, om de overeenkomende waarde van de 2e rij terug te geven, stel row_index_num in op 2, enzovoort.
- Bereik_opzoeken (optioneel) - een logische (Booleaanse) waarde die HLOOKUP opdraagt te zoeken met een exacte of benaderende overeenkomst.
Indien TRUE of weggelaten, een ongeveer Dit betekent dat als er geen exacte overeenkomst wordt gevonden, uw Hlookup-formule een niet-exacte overeenkomst zal uitvoeren en de volgende grootste waarde die kleiner is dan lookup_value zal teruggeven.
Indien FALSE, alleen een exacte match Indien geen enkele waarde in een opgegeven rij precies overeenkomt met de opzoekwaarde, geeft HLOOKUP de foutmelding #N/A.
Om het gemakkelijker te begrijpen, kunt u de HLOOKUP-syntaxis van Excel vertalen:
HLOOKUP( lookup_waarde , table_array , row_index_num , [range_lookup])in normaal Engels:
HLOOKUP( zoeken naar deze waarde in deze tabel, retourneer een waarde uit deze rij, [retourneer een benaderende of exacte overeenkomst])Om te zien hoe het in de praktijk werkt, maken we een eenvoudig Hlookup-voorbeeld. Stel dat u een tabel hebt met wat basisinformatie over de planeten van ons zonnestelsel (zie de schermafbeelding hieronder). Wat u wilt is een formule die de diameter geeft van de planeet waarvan de naam is ingevoerd in cel B5.
In onze Hlookup-formule gebruiken we de volgende argumenten:
- Lookup_value is B5 - de cel met de planeetnaam die u wilt vinden.
- Tabel_array is B2:I3 - de tabel waarin de formule de waarde opzoekt.
- Rij_index_num is 2 omdat Diameter de 2e rij is in de tabel.
- Bereik_opzoeken is FALSE. Omdat de eerste rij van onze tabel niet gesorteerd is van A tot Z, kunnen we alleen opzoeken met exacte overeenkomst, wat in dit voorbeeld prima werkt.
Nu voeg je de argumenten samen en krijg je de volgende formule:
=VLOOKUP(40, A2:B15,2)
3 dingen die u moet weten over de HLOOKUP-functie van Excel
Wanneer u in Excel een horizontale zoekactie uitvoert, onthoud dan de volgende feiten:
- De HLOOKUP-functie kan alleen zoeken in de bovenste rij van tabel_array Als u ergens anders moet zoeken, overweeg dan het gebruik van een Index / Match formule.
- HLOOKUP in Excel is hoofdletterongevoelig Het maakt geen onderscheid tussen hoofdletters en kleine letters.
- Als range_lookup is ingesteld op TRUE of weggelaten ( ongeveer overeenkomen), de waarden in de eerste rij van tabel_array moet worden gesorteerd in oplopende volgorde (A-Z) van links naar rechts.
Wat is het verschil tussen VLOOKUP en HLOOKUP in Excel?
Zoals u al weet, zoeken beide functies VLOOKUP en HLOOKUP naar een opzoekwaarde. Het verschil is hoe het zoeken wordt uitgevoerd. Zoals u waarschijnlijk heeft opgemerkt, verschillen de namen van de functies alleen in de eerste letter - "H" staat voor horizontaal, en "V" voor verticaal.
Daarom gebruikt u de VLOOKUP-functie om te zoeken is verticaal lijsten wanneer uw zoekwaarden zich bevinden in een kolom links van de gegevens die u wilt vinden.
De HLOOKUP-functie voert een horizontale opzoeking - het zoekt naar een opzoekwaarde in de bovenste rij van de tabel en geeft een waarde terug die zich een bepaald aantal rijen lager in dezelfde kolom bevindt.
De volgende afbeelding toont het verschil tussen Vlookup- en Hlookup-formules in Excel:
Hoe HLOOKUP gebruiken in Excel - formulevoorbeelden
Nu de HLOOKUP-functie u wat bekender begint te lijken, bespreken we nog enkele formulevoorbeelden om de kennis te consolideren.
Horizontaal opzoeken met approximatieve en exacte overeenkomst
Zoals u reeds weet, kan de HLOOKUP-functie in Excel een lookup uitvoeren met een exacte en niet-exacte overeenkomst, afhankelijk van de waarde die wordt verstrekt aan de range_lookup argument:
- TRUE of weggelaten - ongeveer wedstrijd
- FALSE - exact wedstrijd
Bedenk dat hoewel we zeggen "benaderende overeenkomst", elke Hlookup-formule in de eerste plaats zoekt naar een exacte overeenkomst. Maar door het laatste argument op FALSE te zetten, kan de formule een benaderende overeenkomst teruggeven (de dichtstbijzijnde waarde die kleiner is dan de opzoekwaarde) als er geen exacte overeenkomst wordt gevonden; TRUE of weggelaten geeft in dit geval de #N/A-fout.
Om het punt beter te illustreren kunt u de volgende HLOOKUP-voorbeelden bekijken.
HLOOKUP met geschatte overeenkomst
Stel, u hebt een lijst van planeten in rij 2 (B2:I2) en hun temperaturen in rij 1 (B1:I1). U wilt uitzoeken welke planeet een bepaalde temperatuur heeft die is ingevoerd in cel B4.
U kunt er niet op vertrouwen dat uw gebruikers de opzoektemperatuur precies weten, dus is het zinvol om een dichtstbijzijnde match indien geen exacte waarde wordt gevonden.
Bijvoorbeeld, om de planeet te vinden waarvan de gemiddelde temperatuur ongeveer -340 °F is, gebruikt u de volgende formule ( range_lookup ingesteld op TRUE of weggelaten zoals in dit voorbeeld):
=HLOOKUP(B4, B1:I2, 2)
Denk eraan dat voor een benaderde overeenkomst de waarden in de bovenste rij moeten worden gesorteerd van klein naar groot of van A naar Z, anders kan uw Hlookup-formule een verkeerd resultaat opleveren.
Zoals u in de onderstaande schermafbeelding kunt zien, levert onze formule het volgende op Uranus een van de koudste planeten in het zonnestelsel met een gemiddelde van -346 graden Fahrenheit.
HLOOKUP met exacte overeenkomst
Als u de opzoekwaarde precies weet, kunt u de laatste parameter van HLOOKUP op FALSE zetten:
=HLOOKUP(B4, B1:I2, 2, FALSE)
Enerzijds is een approximate match Hlookup gebruiksvriendelijker omdat de gegevens in de eerste rij niet hoeven te worden gesorteerd. Anderzijds, als de exacte match niet wordt gevonden, wordt een #N/A-fout geretourneerd.
Tip. Om uw gebruikers niet bang te maken met N/A-fouten, kunt u uw Hlookup-formule insluiten in IFERROR en bijvoorbeeld uw eigen bericht weergeven:
=IFERROR(HLOOKUP(B4, B1:I2, 2, FALSE), "Sorry, er is niets gevonden")
Hoe HLOOKUP doen vanuit een ander werkblad of werkboek
In het algemeen betekent h-lookup vanuit een ander blad of een andere werkmap niets anders dan het leveren van externe referenties aan uw HLOOKUP-formule.
Om overeenstemmende gegevens uit een ander werkblad geeft u de bladnaam op gevolgd door een uitroepteken. Bijvoorbeeld:
=HLOOKUP(B$1, Diameters!$B$1:$I$2,2,FALSE)
Als de werkbladnaam ruimtes of niet-alfabetische tekens , zet de naam tussen enkele aanhalingstekens, zoals dit:
=HLOOKUP(B$1, "Planet diameters"!$B$1:$I$2,2,FALSE)
Bij verwijzing naar een ander werkboek de naam van de werkmap tussen vierkante haken:
=HLOOKUP(B$1, [Book1.xlsx]Diameters!$B$1:$I$2, 2, FALSE)
Als u gegevens uit een gesloten werkmap haalt, moet het volledige pad worden opgegeven:
=HLOOKUP(B$1, "D:\Reports[Book1.xlsx]Diameters"!$B$1:$I$2, 2, FALSE)
Tip. In plaats van de namen van werkmap en werkblad handmatig in de formule te typen, kunt u de cellen in een ander blad selecteren, waarna Excel automatisch een externe verwijzing aan uw formule toevoegt.
Excel HLOOKUP met gedeeltelijke overeenkomst (jokertekens)
Net als bij VLOOKUP staat de HLOOKUP-functie van Excel het gebruik van de volgende jokertekens toe in de lookup_waarde argument:
- Vraagteken (?) om eender welk karakter te vinden
- Asterisk (*) voor een willekeurige reeks tekens
Jokertekens zijn handig wanneer u informatie uit een database wilt halen op basis van een tekst die deel uitmaakt van de inhoud van de opzoekcel.
Bijvoorbeeld, u hebt een lijst met klantnamen in rij 1 en order-ID's in rij 2. U wilt de order-ID voor een specifieke klant vinden, maar u kunt zich de klantnaam niet precies herinneren, hoewel u wel weet dat die begint met "ace".
Ervan uitgaande dat uw gegevens in de cellen B1:I2 staan ( tabel_array) en de bestelnummers staan in rij 2 ( rij_index_num ), gaat de formule als volgt:
=HLOOKUP("ace*", B1:I2, 2, FALSE)
Om de formule flexibeler te maken, kunt u de opzoekingswaarde in een speciale cel typen, bijvoorbeeld B4, en die cel aan elkaar koppelen met het jokerteken, zoals dit:
=HLOOKUP(B4&"*", B1:I2, 2, FALSE)
Opmerkingen.
- Om een wildcard HLOOKUP formule correct te laten werken, moet de range_lookup argument moet worden ingesteld op FALSE.
- Als tabel_array meer dan één waarde bevat die aan de wildcardcriteria voldoet, wordt de eerst gevonden waarde geretourneerd.
Absolute en relatieve celverwijzingen in HLOOKUP formules
Als u een formule schrijft voor een enkele cel, hoeft u zich geen zorgen te maken over het juiste gebruik van relatieve en absolute celverwijzingen.
Een formule kopiëren naar meerdere cellen is een ander verhaal. In essentie:
- Je moet altijd tabel_array door absolute celverwijzingen te gebruiken met het dollarteken ($) zoals $B$1:$I$2.
- Typisch, de lookup_waarde verwijzing is relatief of gemengd, afhankelijk van uw bedrijfslogica.
Om het duidelijker te maken, bekijken we de formule die gegevens uit een ander blad haalt:
=HLOOKUP(B$1, Diameters!$B$1:$I$2,2,FALSE)
In de bovenstaande formule gebruiken wij absoluut celverwijzingen ($B$1:$I$2) in tabel_array omdat het constant moet blijven wanneer de formule naar andere cellen wordt gekopieerd.
Voor lookup_waarde (B$1), gebruiken we een gemengd verwijzing, relatieve kolom en absolute rij, omdat onze opzoekwaarden (planeetnamen) in dezelfde rij staan (rij 1) maar in verschillende kolommen (van B tot I) en de kolomverwijzing moet veranderen op basis van een relatieve positie van een cel waarin de formule is gekopieerd.
Door het slimme gebruik van celverwijzingen werkt onze Hlookup-formule perfect voor meerdere cellen:
INDEX/MATCH - een krachtiger alternatief voor HLOOKUP in Excel
Zoals u al weet, heeft de HLOOKUP-functie in Excel een aantal beperkingen, waarvan de belangrijkste zijn dat u nergens anders kunt opzoeken dan in de bovenste rij, en dat het noodzakelijk is waarden te sorteren wanneer u zoekt met benaderende overeenkomsten.
Gelukkig bestaat er een krachtiger en veelzijdiger alternatief voor Vlookup en Hlookup in Excel - de verbinding van de INDEX- en MATCH-functies, die neerkomt op deze algemene formule:
INDEX ( waar een waarde van terug te geven , MATCH ( opzoekwaarde , waar zoeken , 0))Ervan uitgaande dat uw lookup-waarde in cel B7 staat, u zoekt naar een overeenkomst in rij 2 (B2:I2), en u een waarde uit rij 1 (B1:I1) wilt retourneren, is de formule als volgt:
=INDEX(B1:I1,MATCH(B7,B2:I2,0))
In het onderstaande screenshot ziet u 2 Hlookup formules die zoeken in de eerste en tweede rij, en in beide gevallen werkt INDEX MATCH even goed.
Voor een gedetailleerde uitleg van de logica van de formule en meer voorbeelden, zie INDEX MATCH als beter alternatief voor VLOOKUP.
Hoofdlettergevoelige h-lookup in Excel
Zoals vermeld in het begin van deze handleiding, is de HLOOKUP-functie van Excel hoofdletterongevoelig. In situaties waarin het hoofdlettergebruik van belang is, kunt u de EXACT-functie, die cellen exact vergelijkt, gebruiken in de INDEX MATCH-formule die in het vorige voorbeeld is besproken:
INDEX ( rij om een waarde terug te geven van , MATCH(TRUE, EXACT( rij om in te zoeken , opzoekingswaarde) , 0))Ervan uitgaande dat uw lookup waarde in cel B4 staat, het lookup bereik B1:I1 is, en het return bereik B2:I2 is, krijgt de formule de volgende vorm:
=INDEX(B2:I2, MATCH(TRUE, EXACT(B1:I1,B4),0))
Belangrijke opmerking! Het is een matrixformule en daarom moet u op Ctrl + Shift + Enter drukken om hem te voltooien.
Het bovenstaande voorbeeld demonstreert mijn favoriete, maar niet de enige mogelijke manier om een hoofdlettergevoelige Hlookup in Excel te doen. Als u benieuwd bent naar andere technieken, bekijk dan deze tutorial: 4 manieren om een hoofdlettergevoelige Vlookup in Excel te doen. Ik denk dat u geen problemen zult hebben met het herbouwen van de Vlookup formules voor een horizontale lookup.
Top 10 redenen waarom Excel HLOOKUP niet werkt
Inmiddels weet u al dat Hlookup een zeer nuttige en krachtige opzoekfunctie is in Excel. Het is ook een lastige, en vanwege de vele bijzonderheden zijn #N/A, #VALUE of #REF fouten een veel voorkomend verschijnsel. Als uw HLOOKUP formule niet goed werkt, komt dat waarschijnlijk door een van de volgende redenen.
1. HLOOKUP in Excel kan niet boven zichzelf kijken
Zelfs als u alle andere details over horizontaal opzoeken in Excel vergeet, onthoud dan deze essentiële - Hlookup kan alleen zoeken in de bovenste rij Indien uw lookup waarden in een andere rij staan, krijgt u een N/A foutmelding. Gebruik een INDEX MATCH formule om deze beperking te omzeilen.
2. Geschatte overeenkomst vs. exacte overeenkomst
Wanneer u in Excel een zoekopdracht uitvoert, horizontaal (Hlookup) of verticaal (Vlookup), zoekt u in de meeste gevallen naar een bepaald ding, en hebt u dus een exacte overeenkomst nodig. Wanneer u zoekt met een benaderende overeenkomst ( range_lookup ingesteld op TRUE of weggelaten), vergeet niet de waarden in de eerste rij oplopend te sorteren.
Voor meer informatie en formulevoorbeelden, zie Excel Hlookup met approximatieve en exacte overeenkomst.
3. De tabel array referentie verandert bij het kopiëren van de formule
Wanneer u meerdere HLOOKUPs gebruikt om informatie over een rij lookup-waarden op te halen, moet u de tabel_array verwijzing zoals gedemonstreerd in Absolute en relatieve celverwijzingen in Hlookup formules.
4. Een nieuwe rij invoegen of verwijderen
Om te begrijpen waarom het invoegen van een nieuwe rij een Hlookup-formule kan doorbreken, herinnert u zich hoe Excel HLOOKUP informatie krijgt over de lookup-waarde - op basis van het rij-indexnummer dat u opgeeft.
Stel, u wilt verkoopcijfers krijgen op basis van de product ID. Die cijfers staan in rij 4, dus u typt 4 in de rij_index_num argument. Maar nadat een nieuwe rij is ingevoegd, wordt het rij 5... en je Hlookup stopt met werken. Hetzelfde probleem kan zich voordoen bij het verwijderen van een bestaande rij uit de tabel.
De oplossing is ofwel de tabel te vergrendelen om te voorkomen dat uw gebruikers nieuwe rijen invoegen, of INDEX & MATCH te gebruiken in plaats van Hlookup. In Index/Match formules specificeert u de rijen die moeten worden opgezocht en waarvan de waarden moeten worden teruggegeven als bereikverwijzingen, niet als indexnummers, en Excel is slim genoeg om die verwijzingen onmiddellijk aan te passen. U bent dus vrij om zoveel kolommen en rijen als u wilt te verwijderen of in te voegen zonderdat je elke formule in je werkblad moet bijwerken.
5. Duplicaten in de tabel
De HLOOKUP-functie in Excel kan slechts één waarde teruggeven, namelijk de eerste waarde in de tabel die overeenkomt met de lookup-waarde.
Als er een paar identieke records in uw tabel staan, kiest u een van de volgende oplossingen die het best bij uw behoeften past:
- Verwijder duplicaten met behulp van Excel of onze Duplicaatverwijderaar
- Als dubbele records in de dataset moeten blijven, maak dan een draaitabel om uw gegevens te groeperen en te filteren zoals u dat wilt.
- Gebruik een matrixformule om alle dubbele waarden in het opzoekbereik te extraheren.
6. Extra ruimtes
Wanneer uw duidelijk correcte Hlookup formule een hoop #N/A fouten oplevert, controleer dan uw tabel en lookup waarde op extra spaties. U kunt snel voorloopspaties, sleepspaties en overtollige tussenruimtes verwijderen met de Excel TRIM functie of onze Cell Cleaner tool.
7. Nummers opgemaakt als tekst
Tekststrings die op getallen lijken zijn een ander struikelblok voor Excel-formules. De gedetailleerde beschrijving van dit probleem en mogelijke oplossingen worden beschreven in Waarom Excel-formules mogelijk niet meer werken.
8. Lookup waarde overschrijdt 255 karakters
Alle opzoekfuncties in Excel werken alleen zolang een opzoekwaarde minder dan 255 tekens bevat. Een langere opzoekwaarde resulteert in de foutmelding #VALUE! Aangezien de formule INDEX /MATCH vrij is van deze beperking, kunt u deze gebruiken om deze hindernis te overwinnen.
9. Het volledige pad naar de lookup werkmap is niet gespecificeerd
Als u h-lookup uitvoert vanuit een andere werkmap, vergeet dan niet het volledige pad ernaar toe te geven. Een paar formulevoorbeelden vindt u hier: Hoe Hlookup uitvoeren vanuit een ander werkblad of een andere werkmap.
10. Verkeerde argumenten
Het is al meer dan eens benadrukt dat HLOOKUP een veeleisende functie is die met grote zorgvuldigheid moet worden behandeld. Hieronder staan een paar meest voorkomende fouten die worden veroorzaakt door het geven van onjuiste argumenten:
- Indien row_index_num minder dan 1 is, geeft de HLOOKUP-functie de foutmelding #VALUE! terug.
- Indien row_index_num groter is dan het aantal rijen in table_array, wordt #REF! fout geretourneerd.
- Als u zoekt met approximate match en uw lookup_value is kleiner dan de kleinste waarde in de eerste rij van table_array, wordt de #N/A-fout geretourneerd.
Wel, dit is hoe u HLOOKUP in Excel gebruikt. Hopelijk vindt u deze informatie nuttig. Ik dank u voor het lezen en hoop u volgende week op onze blog te zien!
Download praktijk werkboek
Excel HLOOKUP formule voorbeelden