Excel HLOOKUP -funktion - Slå en reference vandret op

Download eksempel på projektmappe

Download eksemplet på projektmappe

Denne vejledning viser, hvordan du bruger Excel HLOOKUP -funktion i Excel for at slå en værdi op.

HLOOKUP Funktionsoversigt

HLOOKUP -funktionen Hlookup står for vandret opslag. Den søger efter en værdi i den øverste række i en tabel. Returnerer derefter en værdi et bestemt antal rækker ned fra den fundne værdi. Det er det samme som en vlookup, bortset fra at det ser op til værdier vandret i stedet for lodret.

(Bemærk hvordan formelindgangene vises)

HLOOKUP -funktion Syntaks og input:

1 = HLOOKUP (opslagsværdi, tabel_array, række_indeks_nummer, område_opslag)

opslagsværdi - Den værdi, du vil søge efter.

tabel_array -Tabellen, hvorfra data skal hentes.

række_indeks_nummer - Rækketallet, hvorfra data skal hentes.

rækkevidde_opslag -[valgfrit] En boolean for at angive nøjagtig match eller omtrentlig match. Standard = SAND = omtrentlig match.

Hvad er HLOOKUP -funktionen?

Som en af ​​de ældre funktioner i regnearkets verden bruges HLOOKUP -funktionen til at udføre Horientalsk Opslag. Det har et par begrænsninger, der ofte overvindes med andre funktioner, såsom INDEX/MATCH. De fleste borde er også bygget lodret, men der er et par gange, når det er nyttigt at søge vandret.

Grundlæggende eksempel

Lad os se på et eksempel på data fra en karakterbog. Vi tager fat på flere eksempler til udtrækning af oplysninger til specifikke elever.

Hvis vi vil finde, hvilken klasse Bob er i, ville vi skrive formlen:

1 = HLOOKUP ("Bob", A1: E3, 2, FALSK)

Vigtige ting at huske er, at det element, vi leder efter (Bob), skal være i første række i vores søgeområde (A1: E3). Vi har fortalt funktionen, at vi vil returnere en værdi fra 2nd række i søgeområdet, som i dette tilfælde er række 2. Endelig angav vi, at vi vil lave en præcis match ved at placere Falsk som det sidste argument. Her vil svaret være "Læsning".

Sidetip: Du kan også bruge tallet 0 i stedet for Falsk som det sidste argument, da de har den samme værdi. Nogle mennesker foretrækker dette, da det er hurtigere at skrive. Ved bare, at begge dele er acceptable.

Skiftede data

For at tilføje lidt præcisering til vores første eksempel behøver opslagsposten ikke at være i række 1 i dit regneark, kun den første række i dit søgeområde. Lad os bruge det samme datasæt:

Lad os nu finde karakteren for klassen Science. Vores formel ville være

1 = HLOOKUP ("Science", A2: E3, 2, FALSE)

Dette er stadig en gyldig formel, da den første række i vores søgeområde er række 2, hvor vores søgeterm "Science" findes. Vi returnerer en værdi fra 2nd række i søgeområdet, som i dette tilfælde er række 3. Svaret er derefter "A-".

Brug af jokertegn

HLOOKUP -funktionen understøtter brugen af ​​jokertegnene "*" og "?" når man laver søgninger. Lad os f.eks. Sige, at vi havde glemt, hvordan vi stavede Franks navn, og bare ville søge efter et navn, der starter med "F". Vi kunne skrive formlen

1 = HLOOKUP ("F*", A1: E3, 2, FALSK)

Dette ville kunne finde navnet Frank i kolonne E og derefter returnere værdien fra 2nd relativ række. I dette tilfælde vil svaret være “Videnskab”.

Ikke-eksakt match

For det meste vil du sikre dig, at det sidste argument i HLOOKUP er Falsk (eller 0), så du får et nøjagtigt match. Der er dog et par gange, hvor du muligvis søger efter et ikke-eksakt match. Hvis du har en liste over sorterede data, kan du også bruge HLOOKUP til at returnere resultatet for det element, der enten er det samme eller det næstmindste. Dette bruges ofte, når det drejer sig om stigende talintervaller, f.eks. I et skattebord eller kommissionsbonusser.

Lad os sige, at du vil finde skattesatsen for en indtægt, der er indtastet i celle H2. Formlen i H4 kan være:

1 = HLOOKUP (H2, B1: F2, 2, TRUE)

Forskellen i denne formel er, at vores sidste argument er "sandt". I vores specifikke eksempel kan vi se, at når vores individuelle indtægter en indkomst på $ 45.000, vil de have en skattesats på 15%.

Bemærk: Selvom vi normalt ønsker en nøjagtig match med False som argument, glemmer du at angive 4th argument i en HLOOKUP, er standarden True. Dette kan få dig til at få nogle uventede resultater, især når du beskæftiger dig med tekstværdier.

Dynamisk række

HLOOKUP kræver, at du giver et argument, der siger, hvilken række du vil returnere en værdi fra, men anledningen kan opstå, når du ikke ved, hvor rækken vil være, eller du vil tillade din bruger at ændre, hvilken række der skal returneres fra. I disse tilfælde kan det være nyttigt at bruge funktionen MATCH til at bestemme rækkenummeret.

Lad os overveje vores karakterbogeksempel igen med nogle input i G2 og G4. For at få kolonnenummeret kunne vi skrive en formel for

1 = MATCH (G2, A1: A3, 0)

Dette vil forsøge at finde den nøjagtige position for "Grade" inden for området A1: A3. Svaret vil være 3. Ved at vide dette, kan vi tilslutte det til en HLOOKUP -funktion og skrive en formel i G6 sådan:

1 = HLOOKUP (G4, A1: E3, MATCH (G2, A1: A3, 0), 0)

Så MATCH -funktionen evalueres til 3, og det fortæller HLOOKUP at returnere et resultat fra 3rd række i A1: E3 -området. Samlet set får vi så vores ønskede resultat af “C”. Vores formel er dynamisk nu, idet vi kan ændre enten rækken, vi skal se på, eller navnet, vi skal søge efter.

HLOOKUP begrænsninger

Som nævnt i begyndelsen af ​​artiklen er det største fald ved HLOOKUP, at det kræver, at søgeudtrykket findes i venstre kolonne i søgeområdet. Selvom der er nogle smarte tricks, du kan gøre for at overvinde dette, er det almindelige alternativ at bruge INDEX og MATCH. Denne kombination giver dig mere fleksibilitet, og det kan nogle gange endda være en hurtigere beregning.

HLOOKUP i Google Sheets

HLOOKUP -funktionen fungerer nøjagtig det samme i Google Sheets som i Excel:

Ekstra Noter

Brug HLOOKUP -funktionen til at udføre et horisontalt opslag. Hvis du allerede er bekendt med VLOOKUP -funktionen, fungerer en HLOOKUP på nøjagtig samme måde, undtagen at opslaget udføres vandret i stedet for lodret. HLOOKUP søger efter et nøjagtigt match (rækkevidde_opslag = FALSK) eller det nærmeste match, der er lig med eller mindre end opslagsværdien (rækkevidde_opslag = SAND, kun numeriske værdier) i den første række i table_array. Det returnerer derefter en tilsvarende værdi, n antal rækker under kampen.

Når du bruger en HLOOKUP til at finde et nøjagtigt match, definerer du først en identificerende værdi, som du vil søge efter som opslagsværdi. Denne identificerende værdi kan være et SSN, medarbejder -id, navn eller en anden unik identifikator.

Dernæst definerer du området (kaldet tabel_array), der indeholder identifikatorerne i den øverste række og de værdier, du i sidste ende ønsker at søge efter i rækkerne under den. VIGTIGT: De unikke identifikatorer skal være i den øverste række. Hvis de ikke er det, skal du enten flytte rækken til toppen eller bruge MATCH / INDEX i stedet for HLOOKUP.

For det tredje skal du definere rækkenummer (row_index) af tabel_array som du ønsker at returnere. Husk, at den første række, der indeholder de unikke identifikatorer, er række 1. Den anden række er række 2 osv.

Sidst skal du angive, om du vil søge efter et nøjagtigt match (FALSE) eller nærmeste match (TRUE) i rækkevidde_opslag. Hvis den nøjagtige matchmulighed er valgt, og der ikke findes et eksakt match, returneres en fejl (#N/A). For at få formlen retur tom eller "ikke fundet" eller en anden værdi i stedet for fejlværdien (#N/A) skal du bruge IFERROR -funktionen med HLOOKUP.

For at bruge HLOOKUP -funktionen til at returnere et omtrentligt match -sæt: rækkevidde_opslag = SAND. Denne indstilling er kun tilgængelig for numeriske værdier. Værdierne skal sorteres i stigende rækkefølge.

HLOOKUP Eksempler i VBA

Du kan også bruge HLOOKUP -funktionen i VBA. Type:
application.worksheetfunction.hlookup (lookup_value, table_array, row_index_num, range_lookup)

Udførelse af følgende VBA -erklæringer

123456 Range ("G2") = Application.WorksheetFunction.HLookup (Range ("C1"), Range ("A1: E3"), 1)Range ("H2") = Application.WorksheetFunction.HLookup (Range ("C1"), Range ("A1: E3"), 2)Range ("I2") = Application.WorksheetFunction.HLookup (Range ("C1"), Range ("A1: E3"), 3)Range ("G3") = Application.WorksheetFunction.HLookup (Range ("D1"), Range ("A1: E3"), 1)Range ("H3") = Application.WorksheetFunction.HLookup (Range ("D1"), Range ("A1: E3"), 2)Range ("I3") = Application.WorksheetFunction.HLookup (Range ("D1"), Range ("A1: E3"), 3)

vil frembringe følgende resultater

For funktionsargumenterne (opslagsværdi osv.) Kan du enten indtaste dem direkte i funktionen eller definere variabler, der skal bruges i stedet.

Tilbage til listen over alle funktioner i Excel

wave wave wave wave wave