Indholdsfortegnelse
Som du sikkert ved, har Microsoft Excel tre funktioner til at slå op i en værdi - LOOKUP, VLOOKUP og HLOOKUP - og de synes at forvirre brugerne mest. I denne vejledning vil vi fokusere på de særlige kendetegn ved Excel HLOOKUP-funktionen og diskutere et par formelsætningseksempler, der vil hjælpe dig med at bruge den mest effektivt i Excel.
Hvad er HLOOKUP i Excel?
Excel HLOOKUP-funktionen er beregnet til horisontalt opslag Mere specifikt søger den efter en bestemt værdi i tabellens første række og returnerer en anden værdi i den samme kolonne fra en række, som du angiver.
HLOOKUP-funktionen er tilgængelig i alle versioner af Microsoft Excel 2016, Excel 2013, Excel 2010, Excel 2007 og lavere versioner af Microsoft Excel 2016, Excel 2013, Excel 2010, Excel 2007 og lavere.
Excel HLOOKUP syntaks og anvendelse
HLOOKUP-funktionen i Excel har følgende argumenter:
HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])- Lookup_value (påkrævet) - den værdi, der skal søges efter. Det kan være en cellehenvisning, en numerisk værdi eller en tekststreng.
- Tabel_array (påkrævet) - to eller flere datarækker, som opslagsværdien søges i. Det kan være et almindeligt område, et navngivet område eller en tabel. Opslagsværdier skal altid være placeret i første række på table_array .
- Row_index_num (påkrævet) - det rækkenummer i table_array, som værdien skal returneres fra. For at returnere den matchende værdi fra den anden række skal du f.eks. sætte row_index_num til 2 osv.
- Range_lookup (valgfrit) - en logisk (boolsk) værdi, der anviser HLOOKUP til at søge med nøjagtig eller tilnærmelsesvis overensstemmelse.
Hvis den er TRUE eller udelades, vil en ca. Det betyder, at hvis der ikke findes et nøjagtigt match, vil din Hlookup-formel lave et ikke-eksakt match og returnere den næststørste værdi, der er mindre end lookup_value.
Hvis FALSE, er det kun en nøjagtig match returneres. Hvis ingen værdi i en angivet række passer nøjagtigt til opslagsværdien, giver HLOOKUP fejlmeddelelsen #N/A.
For at gøre tingene lettere at forstå kan du oversætte Excels HLOOKUP-syntaks:
HLOOKUP( opslagsværdi , table_array , row_index_num , [range_lookup])til normalt engelsk:
HLOOKUP( søge efter denne værdi , i denne tabel , returnerer en værdi fra denne række , [returnerer et omtrentligt eller nøjagtigt match])For at se, hvordan det fungerer i praksis, kan vi lave et simpelt Hlookup-eksempel. Lad os antage, at du har en tabel med nogle grundlæggende oplysninger om planeterne i vores solsystem (se skærmbilledet nedenfor). Du vil have en formel, der returnerer diameteren for den planet, hvis navn er indtastet i celle B5.
I vores Hlookup-formel vil vi bruge følgende argumenter:
- Opslag_værdi er B5 - den celle, der indeholder det planetnavn, du ønsker at finde.
- Tabel_array er B2:I3 - den tabel, hvor formlen vil søge værdien.
- Row_index_num er 2, fordi Diameter er den anden række i tabellen.
- Range_lookup er FALSK. Da den første række i vores tabel ikke er sorteret fra A til Z, kan vi kun slå op med nøjagtig match, hvilket fungerer fint i dette eksempel.
Nu lægger du argumenterne sammen og får følgende formel:
=VLOOKUP(40, A2:B15,2)
3 ting, du bør vide om Excel HLOOKUP-funktionen
Når du foretager et horisontalt opslag i Excel, skal du huske følgende fakta:
- HLOOKUP-funktionen kan kun søge i øverste række på table_array Hvis du har brug for at slå op et andet sted, kan du overveje at bruge en indeks/overensstemmelsesformel.
- HLOOKUP i Excel er skift mellem store og små bogstaver , den skelner ikke mellem store og små bogstaver.
- Hvis range_lookup er sat til TRUE eller udeladt ( ca. match), værdierne i den første række i table_array skal sorteres i stigende rækkefølge (A-Z) fra venstre til højre.
Hvad er forskellen mellem VLOOKUP og HLOOKUP i Excel?
Som du allerede ved, søger begge funktioner VLOOKUP og HLOOKUP efter en opslagsværdi. Forskellen er, hvordan søgningen udføres. Som du sikkert har bemærket, adskiller funktionernes navne sig kun ved det første bogstav - "H" står for vandret og "V" for lodret.
Derfor bruger du VLOOKUP-funktionen til at søge er lodret når dine opslagsværdier er placeret i en kolonne til venstre for de data, du vil finde.
HLOOKUP-funktionen udfører en horisontalt opslag - den søger efter en opslagsværdi i den øverste række i tabellen og returnerer en værdi, der er placeret et angivet antal rækker længere nede i samme kolonne.
Det følgende billede viser forskellen mellem Vlookup- og Hlookup-formler i Excel:
Sådan bruger du HLOOKUP i Excel - eksempler på formler
Nu hvor HLOOKUP-funktionen er begyndt at virke lidt mere bekendt for dig, kan vi diskutere et par eksempler på flere formler for at konsolidere vores viden.
Horisontalt opslag med tilnærmelsesvis og nøjagtigt match
Som du allerede ved, kan HLOOKUP-funktionen i Excel udføre et opslag med nøjagtigt og ikke-eksakt match, afhængigt af hvilken værdi der angives i range_lookup argument:
- TRUE eller udeladt - ca. match
- FALSK - nøjagtig match
Husk, at selv om vi siger "tilnærmet match", søger enhver Hlookup-formel i første omgang efter et nøjagtigt match. Men hvis du sætter det sidste argument til FALSE, kan formlen returnere et tilnærmet match (den nærmeste værdi, der er mindre end opslagsværdien), hvis der ikke findes et nøjagtigt match; TRUE eller udeladt returnerer #N/A-fejlen i dette tilfælde.
For at illustrere dette bedre kan du se følgende HLOOKUP-eksempler.
HLOOKUP med tilnærmet match
Antag, at du har en liste over planeter i række 2 (B2:I2) og deres temperaturer i række 1 (B1:I1). Du ønsker at finde ud af, hvilken planet der har en bestemt temperatur, som er indtastet i celle B4.
Du kan ikke regne med, at dine brugere kender opslagstemperaturen nøjagtigt, så det giver mening at returnere en nærmeste match hvis der ikke findes en nøjagtig værdi.
For eksempel kan du finde ud af, hvilken planet hvis gennemsnitstemperatur er omkring -340 °F, ved at bruge følgende formel ( range_lookup sættes til TRUE eller udelades som i dette eksempel):
=HLOOKUP(B4, B1:I2, 2)
Husk, at et tilnærmelsesvis match kræver, at værdierne i den øverste række sorteres fra den mindste til den største eller fra A til Z, ellers kan din Hlookup-formel give et forkert resultat.
Som du kan se i skærmbilledet nedenfor, returnerer vores formel Uranus , en af de koldeste planeter i solsystemet med en gennemsnitlig temperatur på -346 grader Fahrenheit.
HLOOKUP med nøjagtigt match
Hvis du kender opslagsværdien nøjagtigt, kan du indstille den sidste parameter i HLOOKUP til FALSE:
=HLOOKUP(B4, B1:I2, 2, FALSE)
På den ene side er et Hlookup med tilnærmelsesvis match mere brugervenligt, fordi det ikke kræver sortering af data i den første række. På den anden side returneres der en #N/A-fejl, hvis det nøjagtige match ikke findes.
Tip. For ikke at skræmme dine brugere med N/A-fejl kan du indlejre din Hlookup-formel i IFERROR og vise din egen meddelelse, f.eks:
=IFERROR(HLOOKUP(B4, B1:I2, 2, FALSE), "Beklager, der er ikke fundet noget")
Sådan laver du HLOOKUP fra et andet regneark eller en anden projektmappe
Generelt betyder h-lookup fra et andet ark eller en anden projektmappe ikke andet end at levere eksterne referencer til din HLOOKUP-formel.
Hvis du vil trække matchende data fra en andet regneark , angiver du arknavnet efterfulgt af et udråbstegn. F.eks:
=HLOOKUP(B$1, Diametre!$B$1:$I$2,2,FALSE)
Hvis regnearkets navn indeholder rum eller ikke-alfabetiske tegn , omslutter navnet i anførselstegn, som her:
=HLOOKUP(B$1, 'Planetdiametre'!$B$1:$I$2,2,FALSE)
Når der henvises til en anden arbejdsbog , skal du angive arbejdsbogens navn i firkantede parenteser:
=HLOOKUP(B$1, [Book1.xlsx]Diametre!$B$1:$I$2, 2, FALSE)
Hvis du henter data fra en lukket projektmappe, skal du angive hele stien:
=HLOOKUP(B$1, 'D:\Reports\[Book1.xlsx]Diametre'!$B$1:$I$2, 2, FALSE)
Tip. I stedet for at skrive arbejdsbogs- og regnearknavnene manuelt i formlen kan du vælge cellerne i et andet ark, hvorefter Excel automatisk tilføjer en ekstern reference til din formel.
Excel HLOOKUP med delvis match (jokertegn)
Som det er tilfældet med VLOOKUP, kan Excel's HLOOKUP-funktion bruge følgende jokertegn i opslagsværdi argument:
- Spørgsmålstegn (?) til at matche et hvilket som helst enkelt tegn
- Asterisk (*) til at matche en hvilken som helst sekvens af tegn
Jokertegn er praktiske, når du vil hente oplysninger fra en database baseret på en tekst, der er en del af indholdet af opslagscellen.
Du har f.eks. en liste med kundenavne i række 1 og ordre-id'er i række 2. Du vil gerne finde ordre-id'et for en bestemt kunde, men du kan ikke huske kundenavnet præcist, selv om du kan huske, at det begynder med "ace".
Hvis vi antager, at dine data er i cellerne B1:I2 ( table_array) og løbenumre er i række 2 ( row_index_num ), lyder formlen som følger:
=HLOOKUP("ace*", B1:I2, 2, FALSE)
Hvis du vil gøre formlen mere fleksibel, kan du skrive opslagsværdien i en særlig celle, f.eks. B4, og sammenkæde denne celle med jokertegnet på følgende måde:
=HLOOKUP(B4& "*", B1:I2, 2, FALSE)
Bemærkninger.
- For at en jokertegns HLOOKUP-formel kan fungere korrekt, skal range_lookup skal være sat til FALSE.
- Hvis table_array indeholder mere end én værdi, der opfylder jokertegnskriterierne, returneres den første fundne værdi.
Absolutte og relative cellehenvisninger i HLOOKUP-formler
Hvis du skriver en formel til en enkelt celle, behøver du ikke bekymre dig om den korrekte brug af relative og absolutte cellehenvisninger - begge dele er nok.
Det er en anden sag at kopiere en formel til flere celler, og det er i bund og grund en anden sag:
- Du bør altid rette table_array ved at bruge absolutte cellereferencer med dollartegnet ($) som f.eks. $B$1:$I$2.
- Typisk er det opslagsværdi reference er relativ eller blandet, afhængigt af din forretningslogik.
Lad os se nærmere på formlen, der henter data fra et andet ark, for at gøre tingene klarere:
=HLOOKUP(B$1, Diametre!$B$1:$I$2,2,FALSE)
I ovenstående formel bruger vi absolut cellereferencer ($B$1:$I$2) i table_array fordi den skal forblive konstant, når formlen kopieres til andre celler.
Til opslagsværdi (B$1), bruger vi en blandet reference, relativ kolonne og absolut række, fordi vores opslagsværdier (planetnavne) er i den samme række (række 1), men i forskellige kolonner (fra B til I), og kolonnehenvisningen skal ændres på grundlag af en relativ position i en celle, hvor formlen er kopieret.
Takket være den smarte brug af cellehenvisninger fungerer vores Hlookup-formel perfekt til flere celler:
INDEX/MATCH - et mere kraftfuldt alternativ til Excel HLOOKUP
Som du allerede ved, har HLOOKUP-funktionen i Excel en række begrænsninger, hvoraf de vigtigste er dens manglende evne til at slå op hvor som helst undtagen i den øverste række, og at det er nødvendigt at sortere værdierne, når der søges med tilnærmelsesvis match.
Heldigvis findes der et mere kraftfuldt og alsidigt alternativ til Vlookup og Hlookup i Excel - forbindelsen mellem INDEX- og MATCH-funktionerne, som kan koges ned til denne generiske formel:
INDEX ( hvor der skal returneres en værdi fra , MATCH ( opslagsværdi , hvor du skal søge , 0))Hvis vi antager, at din opslagsværdi er i celle B7, at du leder efter et match i række 2 (B2:I2) og ønsker at returnere en værdi fra række 1 (B1:I1), er formlen som følger:
=INDEX(B1:I1,MATCH(B7,B2:I2,0))
I skærmbilledet nedenfor kan du se 2 Hlookup-formler, der søger i den første og anden række, og i begge tilfælde fungerer INDEX MATCH lige godt.
For en detaljeret forklaring af formlens logik og flere eksempler, se INDEX MATCH som et bedre alternativ til VLOOKUP.
Sådan laver du case-sensitive h-lookup i Excel
Som nævnt i begyndelsen af denne vejledning er Excel HLOOKUP-funktionen ufølsom over for store og små bogstaver. I situationer, hvor tegnens store og små bogstaver er vigtige, kan du tage EXACT-funktionen, der sammenligner celler nøjagtigt, og sætte den ind i INDEX MATCH-formlen, der blev diskuteret i det foregående eksempel:
INDEX ( række til at returnere en værdi fra , MATCH(TRUE, EXACT( række at søge i , opslagsværdi) , 0))Hvis vi antager, at opslagsværdien er i celle B4, at opslagsintervallet er B1:I1, og at returintervallet er B2:I2, får formlen følgende formular:
=INDEX(B2:I2, MATCH(TRUE, EXACT(B1:I1,B4),0)))
Vigtig bemærkning! Det er en array-formel, og derfor skal du trykke på Ctrl + Shift + Enter for at fuldføre den.
Ovenstående eksempel viser min favorit, men ikke den eneste mulige måde at lave et case-sensitive Hlookup i Excel på. Hvis du er nysgerrig efter at kende andre teknikker, kan du tjekke denne vejledning: 4 måder at lave et case-sensitive Vlookup i Excel på. Jeg tror ikke, at du vil have nogen problemer med at genopbygge Vlookup-formlerne til et horisontalt opslag.
Top 10 grunde til, at Excel HLOOKUP ikke virker
Du ved allerede nu, at Hlookup er en meget nyttig og kraftfuld opslagsfunktion i Excel. Det er også en vanskelig funktion, og på grund af dens mange særlige kendetegn er #N/A, #VALUE eller #REF fejl et almindeligt syn. Hvis din HLOOKUP-formel ikke fungerer korrekt, skyldes det højst sandsynligt en af følgende årsager.
1. HLOOKUP i Excel kan ikke se over sig selv
Selv om du glemmer alle andre detaljer om horisontalt opslag i Excel, skal du huske denne vigtige detalje - Hlookup kan kun søge i den øverste række Hvis dine opslagsværdier befinder sig i en anden række, returneres en N/A-fejl. For at overvinde denne begrænsning kan du bruge en INDEX MATCH-formel.
2. Tilnærmet match vs. nøjagtigt match
Når du laver et opslag i Excel, enten horisontalt (Hlookup) eller vertikalt (Vlookup), søger du i de fleste tilfælde efter en bestemt ting og kræver derfor et nøjagtigt match. Når du søger med et tilnærmelsesvis match ( range_lookup er sat til TRUE eller udeladt), skal du huske at sortere værdierne i den første række i stigende orden.
Du kan finde flere oplysninger og eksempler på formler i Excel Hlookup med tilnærmet og nøjagtigt match i Excel.
3. Referencen til tabellen array ændres, når formlen kopieres
Når du bruger flere HLOOKUP'er til at hente oplysninger om en række opslagsværdier, skal du låse table_array reference som vist i Absolutte og relative cellereferencer i Hlookup-formler.
4. Indsættelse eller sletning af en ny række
For at forstå hvorfor indsættelse af en ny række kan ødelægge en Hlookup-formel, skal du huske, hvordan Excel HLOOKUP får oplysninger om opslagsværdien - baseret på det rækkeindeksnummer, du angiver.
Antag, at du vil have salgstal baseret på produkt-ID. Disse tal er i række 4, så du skriver 4 i row_index_num Men efter at en ny række er blevet indsat, bliver den til række 5... og dit Hlookup holder op med at virke. Det samme problem kan opstå, når du sletter en eksisterende række fra tabellen.
Løsningen er enten at låse tabellen for at forhindre dine brugere i at indsætte nye rækker eller at bruge INDEX & MATCH i stedet for Hlookup. I indeks/Match-formler angiver du de rækker, der skal slås op og returneres værdier fra, som intervalreferencer, ikke som indeksnumre, og Excel er smart nok til at justere disse referencer i farten. Så du kan frit slette eller indsætte så mange kolonner og rækker, som du vil, uden atat skulle bekymre dig om at opdatere alle formler i dit regneark.
5. Duplikater i tabellen
HLOOKUP-funktionen i Excel kan kun returnere én værdi, nemlig den første værdi i tabellen, der matcher opslagsværdien.
Hvis der er nogle få identiske poster i din tabel, skal du vælge en af følgende løsninger, som passer bedst til dine behov:
- Fjern dubletter ved hjælp af Excel eller vores Duplicate Remover
- Hvis du skal beholde dobbeltposter i datasættet, skal du oprette en PivotTable for at gruppere og filtrere dine data på den måde, du ønsker.
- Brug en arrayformel til at udtrække alle duplikerede værdier i opslagsområdet.
6. Ekstra pladser
Når din tilsyneladende korrekte Hlookup-formel returnerer en masse #N/A-fejl, skal du kontrollere din tabel og opslagsværdi for ekstra mellemrum. Du kan hurtigt fjerne ledende, efterfølgende og overskydende mellemrum ved at bruge Excel TRIM-funktionen eller vores Cell Cleaner-værktøj.
7. Tal formateret som tekst
Tekststrenge, der ligner tal, er en anden hindring for Excel-formler. En detaljeret beskrivelse af dette problem og mulige løsninger er beskrevet i Hvorfor Excel-formler måske ikke længere virker.
8. Opslagsværdien overstiger 255 tegn
Alle opslagsfunktioner i Excel fungerer kun, så længe en opslagsværdi er på under 255 tegn. En længere opslagsværdi resulterer i fejlen #VALUE! Da INDEX /MATCH-formlen er fri for denne begrænsning, kan du bruge den til at overvinde denne forhindring.
9. Fuld sti til opslagsarbejdsmappen er ikke angivet
Hvis du udfører h-lookup fra et andet regneark, skal du huske at angive den fulde sti til det. Du kan finde et par eksempler på formler her: Sådan laver du H-lookup fra et andet regneark eller et andet regneark.
10. Forkerte argumenter
Det er allerede blevet understreget mere end én gang, at HLOOKUP er en krævende funktion, som skal behandles med stor omhu. Nedenfor er nogle af de mest almindelige fejl, der skyldes forkert angivelse af argumenter:
- Hvis row_index_num er mindre end 1, returnerer HLOOKUP-funktionen fejlmeddelelsen #VALUE!.
- Hvis row_index_num er større end antallet af rækker i table_array, returneres #REF! fejl.
- Hvis du søger med tilnærmelsesvis match, og din lookup_value er mindre end den mindste værdi i den første række i table_array, returneres #N/A-fejlen.
Nå, dette er hvordan man bruger HLOOKUP i Excel. Forhåbentlig vil du finde disse oplysninger nyttige. Jeg takker dig for at læse og håber at se dig på vores blog i næste uge!
Download arbejdsbog til øvelser
Excel HLOOKUP-formel eksempler