Last ned eksemplet på arbeidsbok
Denne opplæringen viser hvordan du bruker Excel HLOOKUP -funksjon i Excel for å slå opp en verdi.
Oversikt over HLOOKUP -funksjon
HLOOKUP -funksjonen Hlookup står for horisontalt oppslag. Den søker etter en verdi i den øverste raden i en tabell. Returnerer deretter en verdi et spesifisert antall rader ned fra funnet verdi. Det er det samme som en vlookup, bortsett fra at det ser opp verdier horisontalt i stedet for vertikalt.
(Legg merke til hvordan formelinngangene vises)
HLOOKUP -funksjon Syntaks og inngang:
1 | = HLOOKUP (oppslagsverdi, tabellarray, rad_indeks_nummer, område_oppslag) |
oppslag_verdi - Verdien du vil søke etter.
tabell_array -Tabellen for å hente data fra.
rad_indeks_nummer - Radnummeret som dataene skal hentes fra.
range_lookup -[valgfritt] En boolsk for å indikere eksakt samsvar eller omtrentlig samsvar. Standard = TRUE = omtrentlig samsvar.
Hva er HLOOKUP -funksjonen?
Som en av de eldre funksjonene i regnearkverdenen, brukes HLOOKUP -funksjonen til å gjøre Horientalsk Oppslag. Den har noen begrensninger som ofte blir overvunnet med andre funksjoner, for eksempel INDEX/MATCH. De fleste bord er også bygget vertikalt, men det er noen ganger når det er nyttig å søke horisontalt.
Grunnleggende eksempel
La oss se på et eksempel på data fra en karakterbok. Vi tar for oss flere eksempler for å trekke ut informasjon for spesifikke studenter.
Hvis vi vil finne hvilken klasse Bob er i, ville vi skrive formelen:
1 | = HLOOKUP ("Bob", A1: E3, 2, FALSE) |
Viktige ting å huske er at elementet vi søker etter (Bob), må være i første rad i søkeområdet vårt (A1: E3). Vi har fortalt funksjonen at vi ønsker å returnere en verdi fra 2nd rad i søkeområdet, som i dette tilfellet er rad 2. Til slutt angav vi at vi ønsker å gjøre en nøyaktig treff ved å plassere False som det siste argumentet. Her vil svaret være "Lesing".
Sidetips: Du kan også bruke tallet 0 i stedet for False som det siste argumentet, ettersom de har samme verdi. Noen foretrekker dette fordi det er raskere å skrive. Bare vet at begge er akseptable.
Skiftet data
For å legge til litt presisering i vårt første eksempel, trenger ikke oppslagselementet å være i rad 1 i regnearket, bare den første raden i søkeområdet. La oss bruke det samme datasettet:
La oss nå finne karakteren for vitenskapsklassen. Vår formel ville være
1 | = HLOOKUP ("Science", A2: E3, 2, FALSE) |
Dette er fortsatt en gyldig formel, ettersom den første raden i søkeområdet vårt er rad 2, og det er der søkeordet vårt “Science” vil bli funnet. Vi returnerer en verdi fra 2nd rad i søkeområdet, som i dette tilfellet er rad 3. Svaret er da "A-".
Bruk av jokertegn
HLOOKUP -funksjonen støtter bruk av jokertegnene "*" og "?" når du søker. La oss for eksempel si at vi hadde glemt hvordan vi skulle skrive Franks navn, og bare ønsket å søke etter et navn som begynner med "F". Vi kan skrive formelen
1 | = HLOOKUP ("F*", A1: E3, 2, FALSE) |
Dette vil kunne finne navnet Frank i kolonne E, og deretter returnere verdien fra 2nd relativ rad. I dette tilfellet vil svaret være "Vitenskap".
Ikke-eksakt match
Mesteparten av tiden vil du sørge for at det siste argumentet i HLOOKUP er False (eller 0), slik at du får en eksakt samsvar. Imidlertid er det noen ganger du kan lete etter en ikke-eksakt kamp. Hvis du har en liste over sorterte data, kan du også bruke HLOOKUP for å returnere resultatet for elementet som enten er det samme eller det nest minste. Dette brukes ofte når du arbeider med økende tallområder, for eksempel i et skattebord eller provisjonsbonuser.
La oss si at du vil finne skattesatsen for en inntekt som er angitt i celle H2. Formelen i H4 kan være:
1 | = HLOOKUP (H2, B1: F2, 2, TRUE) |
Forskjellen i denne formelen er at vårt siste argument er "True". I vårt spesifikke eksempel kan vi se at når våre individuelle gir en inntekt på $ 45 000, vil de ha en skattesats på 15%.
Merk: Selv om vi vanligvis ønsker en eksakt samsvar med False som argument, glemmer du å angi 4th argumentet i en HLOOKUP, er standarden True. Dette kan føre til at du får uventede resultater, spesielt når du arbeider med tekstverdier.
Dynamisk rad
HLOOKUP krever at du gir et argument som sier hvilken rad du vil returnere en verdi fra, men anledningen kan oppstå når du ikke vet hvor raden vil være, eller du vil tillate brukeren å endre hvilken rad han skal returnere fra. I disse tilfellene kan det være nyttig å bruke MATCH -funksjonen til å bestemme radnummeret.
La oss vurdere vårt eksempel på karakterbok igjen, med noen innganger i G2 og G4. For å få kolonnenummeret kan vi skrive en formel for
1 | = MATCH (G2, A1: A3, 0) |
Dette vil prøve å finne den eksakte posisjonen til “Grade” innenfor området A1: A3. Svaret vil være 3. Når vi vet dette, kan vi koble det til en HLOOKUP -funksjon og skrive en formel i G6 slik:
1 | = HLOOKUP (G4, A1: E3, MATCH (G2, A1: A3, 0), 0) |
Så vil MATCH -funksjonen evaluere til 3, og det forteller HLOOKUP å returnere et resultat fra 3rd rad i A1: E3 -serien. Totalt sett får vi ønsket resultat av “C”. Formelen vår er dynamisk nå ved at vi kan endre enten raden å se på eller navnet vi skal søke etter.
HLOOKUP begrensninger
Som nevnt i begynnelsen av artikkelen, er HLOOKUP største nedgang at det krever at søkeordet finnes i den venstre kolonnen i søkeområdet. Selv om det er noen fancy triks du kan gjøre for å overvinne dette, er det vanlige alternativet å bruke INDEX og MATCH. Den kombinasjonen gir deg mer fleksibilitet, og det kan noen ganger til og med være en raskere beregning.
HLOOKUP i Google Regneark
HLOOKUP -funksjonen fungerer nøyaktig det samme i Google Regneark som i Excel:
Ytterligere merknader
Bruk HLOOKUP -funksjonen til å utføre et horisontalt oppslag. Hvis du allerede er kjent med VLOOKUP -funksjonen, fungerer en HLOOKUP på nøyaktig samme måte, bortsett fra at oppslaget utføres horisontalt i stedet for vertikalt. HLOOKUP søker etter en eksakt samsvar (range_lookup = FALSK) eller den nærmeste kampen som er lik eller mindre enn oppslagsverdi (range_lookup = SANN, bare numeriske verdier) i den første raden i tabell_arrayen. Den returnerer deretter en tilsvarende verdi, n antall rader under kampen.
Når du bruker en HLOOKUP for å finne en eksakt samsvar, definerer du først en identifiserende verdi du vil søke etter som oppslag_verdi. Denne identifiseringsverdien kan være en SSN, ansatt -ID, navn eller en annen unik identifikator.
Deretter definerer du området (kalt tabell_array) som inneholder identifikatorene i den øverste raden og hvilke verdier du til slutt vil søke etter i radene under den. VIKTIG: De unike identifikatorene må være i den øverste raden. Hvis de ikke er det, må du enten flytte raden til toppen, eller bruke MATCH / INDEX i stedet for HLOOKUP.
Tredje, definer radnummer (row_index) av tabell_array som du ønsker å returnere. Husk at den første raden, som inneholder de unike identifikatorene, er rad 1. Den andre raden er rad 2, etc.
Sist må du angi om du vil søke etter en eksakt treff (FALSK) eller nærmeste treff (SANN) i range_lookup. Hvis alternativet for eksakt samsvar er valgt, og det ikke blir funnet en eksakt samsvar, returneres en feil (#N/A). For å få formelen tilbake tom eller “ikke funnet”, eller en annen verdi i stedet for feilverdien (#N/A), bruk IFERROR -funksjonen med HLOOKUP.
Slik bruker du HLOOKUP -funksjonen til å returnere et omtrentlig match -sett: range_lookup = SANN. Dette alternativet er bare tilgjengelig for numeriske verdier. Verdiene må sorteres i stigende rekkefølge.
HLOOKUP Eksempler i VBA
Du kan også bruke HLOOKUP -funksjonen i VBA. Type:application.worksheetfunction.hlookup (oppslag_verdi, tabell_array, rad_indeks_nummer, område_oppslag)
Utfører følgende VBA -utsagn
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 gi følgende resultater
For funksjonsargumentene (oppslagsverdi osv.) Kan du enten skrive dem inn direkte i funksjonen, eller definere variabler som skal brukes i stedet.
Gå tilbake til listen over alle funksjoner i Excel