Innholdsfortegnelse
Som du sikkert vet, har Microsoft Excel tre funksjoner for å slå opp en verdi - LOOKUP, VLOOKUP og HLOOKUP - og de ser ut til å forvirre brukerne mest. I denne opplæringen vil vi fokusere på spesifisitetene til Excel HLOOKUP-funksjonen og diskutere noen formeleksempler som vil hjelpe deg å bruke den mest effektivt i Excel.
Hva er HLOOKUP i Excel?
Excel HLOOKUP-funksjonen er designet for horisontalt oppslag . Mer spesifikt søker den etter en bestemt verdi i den første raden i tabellen og returnerer en annen verdi i samme kolonne fra en rad du spesifiserer.
HOPPLINGS-funksjonen er tilgjengelig i alle versjoner av Microsoft Excel 2016, Excel 2013, Excel 2010, Excel 2007 og lavere.
Excel HLOOKUP-syntaks og bruksområder
LOKUP-funksjonen i Excel har følgende argumenter:
HLOOKUP(oppslagsverdi, tabellmatrise, rad_indeksnummer, [ range_lookup])- Lookup_value (obligatorisk) - verdien som skal søkes etter. Det kan være en cellereferanse, numerisk verdi eller tekststreng.
- Tabell_array (påkrevd) - to eller flere rader med data der oppslagsverdien søkes. Det kan være et vanlig område, navngitt område eller bord. Oppslagsverdier skal alltid være plassert i første rad i tabellmatrise .
- Row_index_num (obligatorisk) - radnummeret i table_array som verdien skal returneres. For eksempel for å returnere den samsvarende verdien fraeventuelle problemer med å gjenoppbygge Vlookup-formlene for et horisontalt oppslag.
Topp 10 grunner til at Excel HLOOKUP ikke fungerer
Nå vet du allerede at Hlookup er en veldig nyttig og kraftig oppslagsfunksjon i Excel . Det er også en vanskelig en, og på grunn av dens mange spesifisiteter er #N/A, #VALUE eller #REF feil et vanlig syn. Hvis HLOOKUP-formelen din ikke fungerer som den skal, er det mest sannsynlig på grunn av en av følgende årsaker.
1. HLOOKUP i Excel kan ikke se over seg selv
Selv om du glemmer alle andre detaljer om horisontalt oppslag i Excel, husk dette viktige - Hlookup kan bare søke i den øverste raden i bord. Hvis oppslagsverdiene dine ligger i en annen rad, returneres en N/A-feil. For å overvinne denne begrensningen, bruk en INDEX MATCH-formel.
2. Omtrentlig samsvar vs eksakt samsvar
Når du gjør et oppslag i Excel, enten horisontalt (Hlookup) eller vertikalt (Vlookup), vil du i de fleste tilfeller søke etter en bestemt ting, og krever derfor et eksakt samsvar. Når du søker med omtrentlig samsvar ( range_lookup sett til TRUE eller utelatt), husk å sortere verdiene i den første raden i stigende rekkefølge.
For mer informasjon og formeleksempler, se Excel Hlookup med omtrentlig og eksakt samsvar.
3. Tabellmatrisereferansen endres når formelen kopieres
Når du bruker flere HLOOKUPs for å henteinformasjon om en rad med oppslagsverdier, må du låse tabellmatrise -referansen som vist i Absolutte og relative cellereferanser i Hlookup-formler.
4. Sette inn eller slette en ny rad
For å forstå hvorfor innsetting av en ny rad kan bryte en Hlookup-formel, husk hvordan Excel HLOOKUP får informasjon om oppslagsverdien - basert på radindeksnummeret du angir.
Anta at du ønsker å få salgstall basert på produkt-ID. Disse tallene er i rad 4, så du skriver inn 4 i row_index_num argumentet. Men etter at en ny rad er satt inn, blir den rad 5... og Hlookup slutter å fungere. Det samme problemet kan oppstå når du sletter en eksisterende rad fra tabellen.
Løsningen er enten å låse tabellen for å hindre brukerne dine fra å sette inn nye rader, eller bruke INDEX & MATCH i stedet for Hlookup. I indeks-/samsvarsformler spesifiserer du radene du skal slå opp og returnere verdier fra, som områdereferanser, ikke indekstall, og Excel er smart nok til å justere disse referansene i farten. Så du står fritt til å slette eller sette inn så mange kolonner og rader du vil uten å bekymre deg for å oppdatere hver formel i regnearket ditt.
5. Duplikater i tabellen
HOPPSLEKK-funksjonen i Excel kan bare returnere én verdi, som er den første verdien i tabellen som samsvarer med oppslagsverdien.
Hvis det er noen få identiske poster i din bord, velgen av følgende løsninger som passer best for dine behov:
- Fjern duplikater ved å bruke Excels midler eller vår duplikatfjerner
- Hvis dupliserte poster skal beholdes i datasettet, lag en pivottabell for å grupper og filtrer dataene dine slik du vil.
- Bruk en matriseformel for å trekke ut alle dupliserte verdier i oppslagsområdet.
6. Ekstra mellomrom
Når den åpenbart riktige Hlookup-formelen returnerer en haug med #N/A-feil, sjekk tabellen og oppslagsverdien for ekstra mellomrom. Du kan raskt fjerne innledende, etterfølgende og overflødige mellomrom ved å bruke Excel TRIM-funksjonen eller vårt Cell Cleaner-verktøy.
7. Tall formatert som tekst
Tekststrenger som ser ut som tall er en annen snublestein for Excel-formler. Den detaljerte beskrivelsen av dette problemet og mulige løsninger er beskrevet i Hvorfor Excel-formler kan slutte å fungere.
8. Oppslagsverdi overstiger 255 tegn
Alle oppslagsfunksjoner i Excel fungerer bare så lenge en oppslagsverdi er under 255 tegn. En lengre oppslagsverdi resulterer i #VALUE! feil. Siden INDEX /MATCH-formelen er fri for denne begrensningen, bruk den til å overvinne denne hindringen.
9. Full bane til oppslagsarbeidsboken er ikke spesifisert
Hvis du utfører h-oppslag fra en annen arbeidsbok, husk å oppgi hele banen til den. Et par formeleksempler finner du her: Hvordan gjøre Hlookup fra et annet regneark ellerarbeidsbok.
10. Feil argumenter
Det er allerede fremhevet mer enn en gang at HLOOKUP er en krevende funksjon som bør behandles med stor forsiktighet. Nedenfor er noen av de vanligste feilene forårsaket av å angi feil argumenter:
- Hvis rad_indeks_tall er mindre enn 1, returnerer HENVISNINGS-funksjonen #VERDI! feil.
- Hvis row_index_num er større enn antall rader i table_array, #REF! feilen returneres.
- Hvis du søker med omtrentlig samsvar og oppslagsverdien din er mindre enn den minste verdien i den første raden i table_array, returneres #N/A-feilen.
Vel, dette er hvordan du bruker HLOOKUP i Excel. Forhåpentligvis vil du finne denne informasjonen nyttig. Jeg takker for at du leser og håper å se deg på bloggen vår neste uke!
Last ned øvelsesarbeidsbok
Excel HLOOKUP formeleksempler
den andre raden, sett row_index_num til 2, og så videre. - Range_lookup (valgfritt) - en logisk (boolsk) verdi som instruerer HLOOKUP å søke med eksakt eller omtrentlig samsvar.
Hvis SANN eller utelatt, returneres et omtrentlig samsvar. Hva det betyr er at hvis et eksakt samsvar ikke blir funnet, vil Hlookup-formelen gjøre et ikke-eksakt samsvar og returnere den nest største verdien som er mindre enn lookup_value.
Hvis FALSE, bare et eksakt samsvar returneres. Hvis ingen verdi i en spesifisert rad samsvarer nøyaktig med oppslagsverdien, gir HLOOKUP #N/A-feilen.
For å gjøre ting enklere å forstå, kan du oversette Excels HLOOKUP-syntaks:
HLOOKUP( oppslagsverdi, tabellmatrise , radindeksnummer , [områdeoppslag])into normal English:
HLOOKUP( søk etter denne verdien, i denne tabellen , returner en verdi fra denne raden , [return en omtrentlig eller eksakt match])For å se hvordan det fungerer i praksis , la oss lage et enkelt Hlookup-eksempel. Anta at du har en tabell med litt grunnleggende informasjon om planetene i solsystemet vårt (se skjermbildet nedenfor). Det du ønsker er en formel som returnerer diameteren til planeten hvis navn er skrevet inn i celle B5.
I Hlookup-formelen vår vil vi bruke følgende argumenter:
- Oppslagsverdi er B5 - cellen som inneholder planetnavnet du vil finne.
- Tabell_matrise er B2:I3 - tabellen derformel vil slå opp verdien.
- Row_index_num er 2 fordi Diameter er den andre raden i tabellen.
- Range_lookup er FALSE. Fordi den første raden i tabellen vår ikke er sortert fra A til Å, kan vi bare slå opp med eksakt samsvar, noe som fungerer helt fint i dette eksemplet.
Nå setter du sammen argumentene og får følgende formel:
=VLOOKUP(40, A2:B15,2)
3 ting du bør vite om Excel HLOOKUP-funksjon
Når du gjør et horisontalt oppslag i Excel, husk følgende fakta:
- HLOOKUP-funksjonen kan bare søke i øverste rad i tabellmatrise . Hvis du trenger å slå opp et annet sted, bør du vurdere å bruke en indeks-/samsvarsformel.
- OPSLAKKING i Excel er ufølsom for store og små bokstaver , den skiller ikke mellom store og små bokstaver.
- Hvis range_lookup er satt til TRUE eller utelatt ( omtrentlig samsvar), må verdiene i den første raden i tabellmatrise sorteres i stigende rekkefølge (A-Z) fra venstre til høyre.
Hva er forskjellen mellom VLOOKUP og HLOOKUP i Excel?
Som du allerede vet, søker begge funksjonene VLOOKUP og HLOOKUP etter en oppslagsverdi . Forskjellen er hvordan søket utføres. Som du sikkert har lagt merke til, er funksjonenes navn forskjellige bare i den første bokstaven - "H" står for horisontal, og "V" for vertikal.
Derfor bruker du OPSLAKK-funksjonen for å søke er vertikal. listernår oppslagsverdiene dine er plassert i en kolonne til venstre for dataene du vil finne.
HOPPSLEKK-funksjonen utfører et horisontalt oppslag - den søker etter en oppslagsverdi øverst -mest rad i tabellen og returnerer en verdi plassert et spesifisert antall rader ned i samme kolonne.
Følgende bilde viser forskjellen mellom Vlookup og Hlookup formler i Excel:
Hvordan bruk HLOOKUP i Excel - formeleksempler
Nå som HLOOKUP-funksjonen har begynt å se litt mer kjent ut for deg, la oss diskutere noen flere formeleksempler for å konsolidere kunnskapen.
Horisontalt oppslag med omtrentlig og eksakt samsvar
Som du allerede vet, kan HLOOKUP-funksjonen i Excel utføre et oppslag med eksakt og ikke-eksakt samsvar avhengig av hvilken verdi som leveres til range_lookup -argumentet:
- SANT eller utelatt - omtrentlig samsvar
- USANN - eksakt samsvar
Husk at selv om vi sier "omtrentlig match ", søker enhver Hlookup-formel etter et eksakt samsvar i utgangspunktet. Men ved å sette det siste argumentet til FALSE kan formelen returnere et omtrentlig samsvar (den nærmeste verdien som er mindre enn oppslagsverdien) hvis et eksakt samsvar ikke blir funnet; TRUE eller utelatt returnerer #N/A-feilen i dette tilfellet.
For bedre å illustrere poenget, vurder følgende HLOOKUP-eksempler.
HLOOKUP medomtrentlig match
Anta at du har en liste over planeter i rad 2 (B2:I2) og deres temperaturer i rad 1(B1:I1). Du vil finne ut hvilken planet som har en viss temperatur som er lagt inn i celle B4.
Du kan ikke stole på at brukerne dine vet oppslagstemperaturen nøyaktig, så det er fornuftig å returnere en nærmeste treff hvis en eksakt verdi ikke er funnet.
For å finne ut planeten hvis gjennomsnittstemperatur er rundt -340 °F, bruk følgende formel ( range_lookup set til TRUE eller utelatt som i dette eksemplet):
=HLOOKUP(B4, B1:I2, 2)
Husk at et omtrentlig samsvar krever sortering av verdiene i den øverste raden fra minste til største eller fra A til Å, ellers Hlookup formelen kan gi et feil resultat.
Som du kan se på skjermbildet nedenfor, returnerer formelen vår Uranus , en av de kaldeste planetene i solsystemet med et gjennomsnitt på -346 grader Fahrenheit .
HLOOKUP med eksakt samsvar
Hvis du kjenner oppslagsverdien nøyaktig, kan du sette den siste parameteren til HLOOKUP til FALSE:
=HLOOKUP(B4, B1:I2, 2, FALSE)
På en hånd, en omtrentlig match Hlookup er mer brukervennlig fordi den ikke krever sortering av data i den første raden. På den annen side, hvis det nøyaktige samsvaret ikke blir funnet, vil en #N/A-feil bli returnert.
Tips. For ikke å skremme brukerne dine med N/A-feil, kan du bygge inn Hlookup-formelen i IFERROR og visedin egen melding, for eksempel:
=IFERROR(HLOOKUP(B4, B1:I2, 2, FALSE), "Sorry, nothing has been found")
Hvordan gjøre HLOOKUP fra et annet regneark eller arbeidsbok
Generelt betyr h-oppslag fra et annet ark eller en annen arbeidsbok ingenting annet enn å oppgi eksterne referanser til HLOOKUP-formelen.
For å trekke ut samsvarende data fra et annet regneark , spesifiserer du arknavnet etterfulgt av et utropstegn. For eksempel:
=HLOOKUP(B$1, Diameters!$B$1:$I$2,2,FALSE)
Hvis regnearkets navn inneholder mellomrom eller ikke-alfabetiske tegn , omslutter navnet i enkle anførselstegn, slik som dette :
=HLOOKUP(B$1, 'Planet diameters'!$B$1:$I$2,2,FALSE)
Når du refererer til en annen arbeidsbok , ta med arbeidsboknavnet omsluttet av hakeparenteser:
=HLOOKUP(B$1, [Book1.xlsx]Diameters!$B$1:$I$2, 2, FALSE)
Hvis du er trekker data fra en lukket arbeidsbok, bør hele banen spesifiseres:
=HLOOKUP(B$1, 'D:\Reports\[Book1.xlsx]Diameters'!$B$1:$I$2, 2, FALSE)
Tips. I stedet for å skrive inn navnene på arbeidsboken og regnearkene i formelen manuelt, kan du velge cellene i et annet ark, og Excel vil automatisk legge til en ekstern referanse til formelen din.
Excel-OPSLAKK med delvis samsvar (jokertegn)
Som tilfellet er med VLOOKUP, tillater Excels HLOOKUP-funksjon å bruke følgende jokertegn i argumentet lookup_value :
- Spørsmålstegn (? ) for å matche et enkelt tegn
- Asterisk (*) for å matche en hvilken som helst sekvens av tegn
Jokertegn kommer godt med når du vil hente informasjon fra en database basert på en tekst somer en del av oppslagscellens innhold.
Du har for eksempel en liste over kundenavn i rad 1 og ordre-ID-er i rad 2. Du vil finne ordre-ID-en for en bestemt kunde, men du kan ikke huske kundenavn nøyaktig, selv om du husker at det begynner med "ess".
Forutsatt at dataene dine er i cellene B1:I2 ( tabellmatrise) og ordrenumrene er i rad 2 ( rad_indeks_nummer ), går formelen som følger:
=HLOOKUP("ace*", B1:I2, 2, FALSE)
For å gjøre formelen mer fleksibel kan du skrive inn oppslagsverdien i en spesiell celle, si B4, og sette sammen den cellen med jokertegnet, slik:
=HLOOKUP(B4&"*", B1:I2, 2, FALSE)
Notes.
- For at en jokertegn HLOOKUP-formel skal fungere riktig, må range_lookup -argumentet settes til FALSE.
- Hvis tabellmatrise inneholder mer enn én verdi som oppfyller jokertegnkriteriene, returneres den første verdien som ble funnet.
Absolute og relative cellereferanser i HLOOKUP-formler
Hvis du skriver en formel for en enkelt celle, Det kan hende du ikke bekymrer deg for riktig bruk av relative og absolutte cellereferanser, ingen av dem vil gjøre det.
Å kopiere en formel til flere celler er en annen historie. I hovedsak:
- Du bør alltid fikse tabellmatrise ved å bruke absolutte cellereferanser med dollartegnet ($) som $B$1:$I$2.
- Vanligvis er oppslagsverdi -referansen relativ eller blandet avhengig av virksomheten dinlogikk.
For å gjøre ting klarere, la oss se nærmere på formelen som henter data fra et annet ark:
=HLOOKUP(B$1, Diameters!$B$1:$I$2,2,FALSE)
I formelen ovenfor, bruk absolutt cellereferanser ($B$1:$I$2) i tabellmatrise fordi den skal forbli konstant når formelen kopieres til andre celler.
For oppslagsverdi (B$1), bruker vi en blandet referanse, relativ kolonne og absolutt rad, fordi våre oppslagsverdier (planetnavn) er i samme rad (rad 1), men i forskjellige kolonner ( fra B til I) og kolonnereferansen bør endres basert på en relativ plassering av en celle der formelen er kopiert.
På grunn av den smarte bruken av cellereferanser, fungerer vår Hlookup-formel perfekt for flere celler:
INDEX/MATCH - et kraftigere alternativ til Excel HLOOKUP
Som du allerede vet, har HLOOKUP-funksjonen i Excel en rekke begrensninger, de viktigste er dens manglende evne til å slå opp hvor som helst bortsett fra for den øverste raden, og nødvendig for å sortere verdier når du søker med omtrentlig samsvar.
Heldigvis finnes det et kraftigere og mer allsidig alternativ til Vlookup og Hlookup i Excel - forbindelsen mellom INDEX- og MATCH-funksjoner, som koker ned til denne generiske formelen:
INDEX ( hvor en verdi skal returneres fra , MATCH ( oppslagsverdi , hvor skal man søke , 0))Forutsatt at oppslagsverdien din er i celle B7, leter dufor en kamp i rad 2 (B2:I2), og ønsker å returnere en verdi fra rad 1 (B1:I1), er formelen som følger:
=INDEX(B1:I1,MATCH(B7,B2:I2,0))
I skjermbildet nedenfor , kan du se 2 Hlookup-formler som søker i første og andre rad, og i begge tilfeller fungerer INDEX MATCH like bra.
For en detaljert forklaring av formelens logikk og flere eksempler, vennligst se INDEX MATCH som et bedre alternativ til VLOOKUP.
Hvordan gjøre store og små bokstaver i h-oppslag i Excel
Som nevnt i begynnelsen av denne opplæringen, skiller Excel HLOOKUP-funksjonen ikke mellom store og små bokstaver. I situasjoner hvor store og små bokstaver er viktige, kan du ta EKSAKT-funksjonen som sammenligner celler nøyaktig, og sette den i INDEX MATCH-formelen diskutert i forrige eksempel:
INDEX ( rad for å returnere en verdi fra , MATCH(TRUE, EXACT( rad for å søke i , oppslagsverdi) , 0))Forutsatt at oppslagsverdien er i celle B4, oppslagsområdet er B1:I1, og returområdet er B2:I2, formelen har følgende form:
=INDEX(B2:I2, MATCH(TRUE, EXACT(B1:I1,B4),0))
Viktig merknad! Det er en matriseformel og derfor bør du trykke Ctrl + Shift + Enter for å fullføre det.
Eksemplet ovenfor demonstrerer min favoritt, men ikke den eneste mulige måten å gjøre en bokstavsensitiv Hlookup i Excel. Hvis du er nysgjerrig på å vite andre teknikker, vennligst sjekk ut denne opplæringen: 4 måter å gjøre en versalsensitiv Vlookup i Excel. Jeg tror du ikke vil ha det