Excel HLOOKUP-funktion med formelexempel

  • Dela Detta
Michael Brown

Som du säkert vet har Microsoft Excel tre funktioner för att söka upp ett värde - LOOKUP, VLOOKUP och HLOOKUP - och de verkar förvirra användarna mest. I den här handledningen kommer vi att fokusera på de specifika egenskaperna hos Excel-funktionen HLOOKUP och diskutera några formelexempel som hjälper dig att använda den i Excel så effektivt som möjligt.

    Vad är HLOOKUP i Excel?

    Excel-funktionen HLOOKUP är utformad för att horisontell sökning Mer specifikt söker den efter ett visst värde i tabellens första rad och returnerar ett annat värde i samma kolumn från en rad som du anger.

    Funktionen HLOOKUP finns i alla versioner av Microsoft Excel 2016, Excel 2013, Excel 2010, Excel 2007 och lägre.

    Excel HLOOKUP-syntax och användningsområden

    Funktionen HLOOKUP i Excel har följande argument:

    HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])
    • Lookup_value (obligatoriskt) - det värde som ska sökas efter. Det kan vara en cellreferens, ett numeriskt värde eller en textsträng.
    • Tabell_array (obligatoriskt) - två eller flera datarader där uppslagsvärdet söks. Det kan vara ett vanligt intervall, ett namngivet intervall eller en tabell. Uppslagsvärden ska alltid finnas i första raden tabell_array .
    • Row_index_num (krävs) - radnumret i table_array från vilket värdet ska returneras. Om du till exempel vill returnera det matchande värdet från den andra raden, sätt row_index_num till 2, och så vidare.
    • Range_lookup (valfritt) - ett logiskt (boolskt) värde som instruerar HLOOKUP att söka med exakt eller ungefärlig matchning.

      Om den är TRUE eller utelämnas, kommer en ungefärlig Det betyder att om en exakt matchning inte hittas kommer din Hlookup-formel att göra en icke-exakt matchning och återge det näst största värdet som är mindre än lookup_value.

      Om FALSE, endast en exakt samma sak returneras. Om inget värde i en angiven rad matchar uppslagsvärdet exakt, ger HLOOKUP felmeddelandet #N/A.

    För att göra det lättare att förstå kan du översätta Excels HLOOKUP-syntax:

    HLOOKUP( Lookup_value , table_array , row_index_num , [range_lookup])

    till normal engelska:

    HLOOKUP( söka efter detta värde , i den här tabellen , returnera ett värde från den här raden , [returnera en ungefärlig eller exakt matchning])

    För att se hur det fungerar i praktiken kan vi ta ett enkelt Hlookup-exempel. Antag att du har en tabell med grundläggande information om planeterna i vårt solsystem (se skärmdumpen nedan). Du vill ha en formel som ger diametern för den planet vars namn anges i cell B5.

    I vår Hlookup-formel kommer vi att använda följande argument:

    • Lookup_value är B5 - den cell som innehåller det planetnamn som du vill hitta.
    • Tabell_array är B2:I3 - tabellen där formeln söker upp värdet.
    • Row_index_num är 2 eftersom Diameter är den andra raden i tabellen.
    • Range_lookup är FALSK. Eftersom den första raden i vår tabell inte är sorterad från A till Z kan vi bara söka med exakt matchning, vilket fungerar bra i det här exemplet.

    Nu lägger du ihop argumenten och får följande formel:

    =VLOOKUP(40, A2:B15,2)

    3 saker du bör veta om Excel HLOOKUP-funktionen

    När du gör en horisontell sökning i Excel ska du komma ihåg följande fakta:

    1. HLOOKUP-funktionen kan endast söka i översta raden tabell_array Om du behöver leta upp något annat ställe kan du överväga att använda en index/match-formel.
    2. HLOOKUP i Excel är Skiftlägeskänslig Det skiljer inte mellan stora och små bokstäver.
    3. Om range_lookup är satt till TRUE eller utelämnas ( ungefärlig matchning), värdena i den första raden i tabell_array måste sorteras i stigande ordning (A-Z) från vänster till höger.

    Vad är skillnaden mellan VLOOKUP och HLOOKUP i Excel?

    Som du redan vet söker båda funktionerna VLOOKUP och HLOOKUP efter ett uppslagsvärde. Skillnaden är hur sökningen utförs. Som du säkert märkt skiljer sig funktionernas namn endast genom den första bokstaven - "H" står för horisontell och "V" för vertikal.

    Därför använder du VLOOKUP-funktionen för att söka är vertikal när dina uppslagsvärden finns i en kolumn till vänster om de data som du vill hitta.

    Funktionen HLOOKUP utför en horisontell sökning - Den söker efter ett uppslagsvärde på den översta raden i tabellen och returnerar ett värde som ligger ett visst antal rader längre ner i samma kolumn.

    Följande bild visar skillnaden mellan formlerna Vlookup och Hlookup i Excel:

    Hur man använder HLOOKUP i Excel - exempel på formler

    Nu när HLOOKUP-funktionen har börjat kännas lite mer bekant för dig, låt oss diskutera några fler formelexempel för att befästa kunskapen.

    Horisontell sökning med ungefärlig och exakt matchning

    Som du redan vet kan HLOOKUP-funktionen i Excel utföra en sökning med exakt och icke-exakt matchning beroende på vilket värde som anges i range_lookup argument:

    • TRUE eller utelämnas - ungefärlig matcha
    • FALSK - exakt matcha

    Tänk på att även om vi säger "ungefärlig matchning" så söker alla Hlookup-formler efter en exakt matchning i första hand. Men om du ställer in det sista argumentet till FALSE kan formeln returnera en ungefärlig matchning (det närmaste värdet som är mindre än uppslagsvärdet) om ingen exakt matchning hittas; TRUE eller utelämnat returnerar #N/A-felet i det här fallet.

    För att bättre illustrera detta kan du ta följande exempel på HLOOKUP.

    HLOOKUP med ungefärlig matchning

    Anta att du har en lista med planeter i rad 2 (B2:I2) och deras temperaturer i rad 1 (B1:I1). Du vill ta reda på vilken planet som har en viss temperatur som anges i cell B4.

    Du kan inte lita på att dina användare känner till exakt vilken temperatur som ska användas, så det är klokt att returnera en närmsta match om ett exakt värde inte hittas.

    För att ta reda på vilken planet vars medeltemperatur ligger runt -340 °F kan du till exempel använda följande formel ( range_lookup till TRUE eller utelämnas som i det här exemplet):

    =HLOOKUP(B4, B1:I2, 2)

    Kom ihåg att en ungefärlig matchning kräver att värdena i den översta raden sorteras från minsta till största eller från A till Z, annars kan Hlookup-formeln ge fel resultat.

    Som du kan se i skärmdumpen nedan ger vår formel följande resultat Uranus , en av de kallaste planeterna i solsystemet med en genomsnittlig temperatur på -346 grader Fahrenheit.

    HLOOKUP med exakt matchning

    Om du vet exakt vilket värde du vill ha kan du ställa in den sista parametern i HLOOKUP till FALSE:

    =HLOOKUP(B4, B1:I2, 2, FALSE)

    Å ena sidan är en Hlookup med ungefärlig matchning mer användarvänlig eftersom den inte kräver att data sorteras i den första raden. Å andra sidan returneras ett #N/A-fel om den exakta matchningen inte hittas.

    Tips: För att inte skrämma användarna med N/A-fel kan du bädda in din Hlookup-formel i IFERROR och visa ditt eget meddelande, till exempel:

    =IFERROR(HLOOKUP(B4, B1:I2, 2, FALSE), "Tyvärr har ingenting hittats")

    Hur man gör HLOOKUP från ett annat arbetsblad eller en annan arbetsbok

    I allmänhet innebär h-lookup från ett annat ark eller en annan arbetsbok inget annat än att du tillhandahåller externa referenser till din HLOOKUP-formel.

    För att ta fram matchande data från en olika arbetsblad anger du arkets namn följt av ett utropstecken, till exempel:

    =HLOOKUP(B$1, Diametrar!$B$1:$I$2,2,FALSE)

    Om arbetsbladets namn innehåller utrymmen eller . Icke-alfabetiska tecken. , omsluta namnet med enkla citationstecken, så här:

    =HLOOKUP(B$1, 'Planetdiametrar'!$B$1:$I$2,2,FALSE)

    När du hänvisar till en annan arbetsbok inkludera arbetsboksnamnet inom hakparenteser:

    =HLOOKUP(B$1, [Book1.xlsx]Diametrar!$B$1:$I$2, 2, FALSE)

    Om du hämtar data från en stängd arbetsbok ska hela sökvägen anges:

    =HLOOKUP(B$1, 'D:\Reports\[Book1.xlsx]Diametrar'!$B$1:$I$2, 2, FALSE)

    Tips: Istället för att skriva arbetsboks- och kalkylbladsnamnen manuellt i formeln kan du välja cellerna i ett annat ark så lägger Excel automatiskt till en extern referens till formeln.

    Excel HLOOKUP med partiell matchning (jokertecken)

    Precis som i fallet med VLOOKUP kan du med Excels funktion HLOOKUP använda följande jokertecken i Lookup_value argument:

    • Frågetecken (?) för att matcha ett enskilt tecken
    • Asterisk (*) för att matcha vilken sekvens av tecken som helst

    Jokertecken är praktiska när du vill hämta information från en databas baserat på en text som ingår i innehållet i uppslagscellen.

    Du har till exempel en lista med kundnamn på rad 1 och order-ID:n på rad 2. Du vill hitta order-ID:n för en viss kund, men du kommer inte ihåg exakt vilket kundnamn det är, även om du minns att det börjar med "ace".

    Om du antar att dina data finns i cellerna B1:I2 ( table_array) och löpnummer i rad 2 ( row_index_num ), så lyder formeln som följer:

    =HLOOKUP("ace*", B1:I2, 2, FALSE)

    För att göra formeln mer flexibel kan du skriva in uppslagsvärdet i en särskild cell, till exempel B4, och sedan sammanfoga den cellen med jokertecknet, på följande sätt:

    =HLOOKUP(B4& "*", B1:I2, 2, FALSE)

    Anteckningar.

    • För att en wildcard HLOOKUP-formel ska fungera korrekt måste range_lookup argumentet måste sättas till FALSE.
    • Om tabell_array innehåller mer än ett värde som uppfyller jokerteckenkriterierna, returneras det första värdet som hittas.

    Absoluta och relativa cellreferenser i HLOOKUP-formler

    Om du skriver en formel för en enskild cell behöver du inte oroa dig för hur relativa och absoluta cellreferenser ska användas, det räcker med båda.

    Att kopiera en formel till flera celler är en annan sak:

    • Du bör alltid åtgärda följande tabell_array genom att använda absoluta cellreferenser med dollartecken ($) som $B$1:$I$2.
    • Vanligtvis är det Lookup_value referensen är relativ eller blandad beroende på din affärslogik.

    För att göra saker och ting tydligare ska vi titta närmare på formeln som hämtar data från ett annat ark:

    =HLOOKUP(B$1, Diametrar!$B$1:$I$2,2,FALSE)

    I formeln ovan använder vi följande absolut cellreferenser ($B$1:$I$2) i tabell_array eftersom den ska vara konstant när formeln kopieras till andra celler.

    För Lookup_value (B$1), använder vi en blandad referens, relativ kolumn och absolut rad, eftersom våra uppslagsvärden (planetnamn) finns på samma rad (rad 1) men i olika kolumner (från B till I) och kolumnreferensen ska ändras beroende på den relativa positionen i en cell där formeln kopieras.

    Tack vare den smarta användningen av cellreferenser fungerar vår Hlookup-formel perfekt för flera celler:

    INDEX/MATCH - ett kraftfullare alternativ till Excel HLOOKUP

    Som du redan vet har HLOOKUP-funktionen i Excel ett antal begränsningar, varav de viktigaste är att den inte kan söka upp någonstans utom på den översta raden och att den måste sortera värden när du söker med approximativ matchning.

    Som tur är finns det ett mer kraftfullt och mångsidigt alternativ till Vlookup och Hlookup i Excel, nämligen INDEX- och MATCH-funktionerna, som kan sammanfattas i den här generiska formeln:

    INDEX ( var ett värde ska returneras från , MATCH ( Uppslagsvärde , var du ska söka , 0))

    Om du antar att ditt uppslagsvärde finns i cell B7, att du letar efter en matchning i rad 2 (B2:I2) och att du vill returnera ett värde från rad 1 (B1:I1), är formeln följande:

    =INDEX(B1:I1,MATCH(B7,B2:I2,0))

    I skärmbilden nedan kan du se två Hlookup-formler som söker i den första och andra raden, och i båda fallen fungerar INDEX MATCH lika bra.

    En detaljerad förklaring av formelns logik och fler exempel finns i INDEX MATCH som ett bättre alternativ till VLOOKUP.

    Hur man gör skiftlägeskänslig h-lookup i Excel

    Som vi nämnde i början av den här handledningen är Excel-funktionen HLOOKUP okänslig för stor- och småbokstäver. I situationer där stor- och småbokstäver spelar roll kan du ta funktionen EXACT som jämför celler exakt och placera den i formeln INDEX MATCH som vi diskuterade i det föregående exemplet:

    INDEX ( rad för att returnera ett värde från , MATCH(TRUE, EXACT( rad att söka i , värde för sökning) , 0))

    Om du antar att ditt uppslagsvärde finns i cell B4, att uppslagsintervallet är B1:I1 och att returintervallet är B2:I2, får formeln följande form:

    =INDEX(B2:I2, MATCH(TRUE, EXACT(B1:I1,B4),0))

    Viktig notering! Det är en arrayformel och därför ska du trycka på Ctrl + Shift + Enter för att slutföra den.

    Exemplet ovan visar mitt favorit- men inte det enda möjliga sättet att göra en skiftlägeskänslig Hlookup i Excel. Om du är nyfiken på andra tekniker kan du läsa den här handledningen: 4 sätt att göra en skiftlägeskänslig Vlookup i Excel. Jag tror inte att du kommer att ha några problem med att bygga om Vlookup-formlerna för en horisontell lookup.

    Topp 10 orsaker till att Excel HLOOKUP inte fungerar

    Vid det här laget vet du redan att Hlookup är en mycket användbar och kraftfull uppslagsfunktion i Excel. Det är också en knepig funktion, och på grund av dess många särdrag är fel #N/A, #VALUE eller #REF vanliga. Om din HLOOKUP-formel inte fungerar som den ska, beror det troligen på någon av följande orsaker.

    1. HLOOKUP i Excel kan inte se över sig självt

    Även om du glömmer alla andra detaljer om horisontell sökning i Excel, kom ihåg den här viktiga informationen - Hlookup kan bara söka i översta raden Om dina uppslagsvärden finns i någon annan rad returneras ett N/A-fel. För att komma till rätta med denna begränsning använder du en INDEX MATCH-formel.

    2. Approximativ matchning kontra exakt matchning

    När du gör en sökning i Excel, antingen horisontellt (Hlookup) eller vertikalt (Vlookup), söker du i de flesta fall efter en viss sak och kräver därför en exakt matchning. När du söker med ungefärlig matchning ( range_lookup till TRUE eller utelämnas), kom ihåg att sortera värdena i den första raden i stigande ordning.

    Mer information och exempel på formler finns i Excel Hlookup med ungefärlig och exakt matchning.

    3. Referensen till tabellmatrisen ändras när du kopierar formeln.

    När du använder flera HLOOKUPs för att hämta information om en rad med uppslagsvärden måste du låsa tabell_array referens som visas i Absoluta och relativa cellreferenser i Hlookup-formler.

    4. Infoga eller ta bort en ny rad.

    För att förstå varför en Hlookup-formel kan gå sönder om du infogar en ny rad, kan du komma ihåg hur Excel HLOOKUP får information om uppslagsvärdet - baserat på det radindexnummer du anger.

    Anta att du vill få fram försäljningssiffror baserat på produkt-ID. Dessa siffror finns på rad 4, så du skriver 4 i row_index_num Men efter att en ny rad har lagts in blir den rad 5... och din Hlookup slutar att fungera. Samma problem kan uppstå när du tar bort en befintlig rad från tabellen.

    Lösningen är antingen att låsa tabellen för att hindra användarna från att lägga in nya rader eller att använda INDEX & MATCH i stället för Hlookup. I Index/Match-formler anger du de rader som du vill söka upp och återge värden från som intervallreferenser, inte indexnummer, och Excel är smart nog att justera dessa referenser i farten. Du kan alltså ta bort eller lägga in så många kolumner och rader som du vill utan att behövaoroa dig för att uppdatera varje formel i arbetsbladet.

    5. Dubletter i tabellen

    Funktionen HLOOKUP i Excel kan bara returnera ett värde, nämligen det första värdet i tabellen som matchar uppslagsvärdet.

    Om det finns några identiska poster i tabellen väljer du en av följande lösningar som passar bäst för dina behov:

    • Ta bort dubbletter med hjälp av Excel eller vår Duplicate Remover
    • Om dubbla poster ska finnas kvar i datasetet skapar du en pivottabell för att gruppera och filtrera data på det sätt du vill.
    • Använd en arrayformel för att extrahera alla dubbla värden i uppslagsintervallet.

    6. Extra utrymmen

    När din uppenbart korrekta Hlookup-formel returnerar en massa #N/A-fel, kontrollera din tabell och ditt lookup-värde för extra mellanslag. Du kan snabbt ta bort ledande, avslutande och överflödiga mellanslag genom att använda Excel TRIM-funktionen eller vårt verktyg Cell Cleaner.

    7. Siffror formaterade som text

    Textsträngar som ser ut som siffror är ett annat hinder för Excel-formler. En detaljerad beskrivning av detta problem och möjliga lösningar finns i Varför Excel-formler slutar fungera.

    8. Uppslagsvärdet överstiger 255 tecken.

    Alla Lookup-funktioner i Excel fungerar bara så länge som ett lookup-värde är mindre än 255 tecken. Ett längre lookup-värde resulterar i felet #VALUE! Eftersom INDEX /MATCH-formeln inte har denna begränsning kan du använda den för att övervinna detta hinder.

    9. Fullständig sökväg till uppslagsarbetsboken är inte angiven.

    Om du utför h-lookup från en annan arbetsbok, kom ihåg att ange hela sökvägen till den. Ett par exempel på formler finns här: Hur man gör h-lookup från ett annat arbetsblad eller en annan arbetsbok.

    10. Felaktiga argument

    Det har redan påpekats mer än en gång att HLOOKUP är en krävande funktion som bör behandlas med stor försiktighet. Nedan följer några av de vanligaste felen som orsakas av felaktiga argument:

    • Om row_index_num är mindre än 1 returnerar HLOOKUP-funktionen felet #VALUE!.
    • Om row_index_num är större än antalet rader i table_array returneras felet #REF!
    • Om du söker med approximativ matchning och ditt lookup_value är mindre än det minsta värdet i den första raden i table_array returneras felet #N/A.

    Det här är hur du använder HLOOKUP i Excel. Förhoppningsvis finner du den här informationen användbar. Jag tackar dig för att du läste och hoppas att vi ses på vår blogg nästa vecka!

    Ladda ner övningsboken

    Exempel på Excel HLOOKUP-formler

    Michael Brown är en hängiven teknikentusiast med en passion för att förenkla komplexa processer med hjälp av mjukvaruverktyg. Med mer än ett decenniums erfarenhet inom teknikbranschen har han finslipat sina kunskaper i Microsoft Excel och Outlook, samt Google Sheets och Docs. Michaels blogg är tillägnad att dela med sig av sin kunskap och expertis med andra, och tillhandahåller lätta att följa tips och handledningar för att förbättra produktiviteten och effektiviteten. Oavsett om du är en erfaren proffs eller nybörjare, erbjuder Michaels blogg värdefulla insikter och praktiska råd för att få ut det mesta av dessa viktiga programvaruverktyg.