Hur man gör Lookup i Excel: funktioner och formelexempel

  • Dela Detta
Michael Brown

I handledningen förklaras grunderna för Lookup i Excel, man visar styrkorna och svagheterna hos varje Excel Lookup-funktion och ger ett antal exempel som hjälper dig att avgöra vilken lookup-formel som är bäst att använda i en viss situation.

Att leta upp ett specifikt värde i en datamängd är en av de vanligaste uppgifterna i Excel. Ändå finns det ingen "universell" uppslagsformel som passar för alla situationer. Orsaken är att termen "uppslag" kan beteckna en mängd olika saker: du kan leta vertikalt i en kolumn, horisontellt i en rad eller i skärningspunkten mellan en rad och en kolumn, söka med ett eller flera kriterier, återgeförsta hittade matchning eller flera matchningar, gör en läsning med eller utan hänsyn till stor bokstavskänsla, och så vidare.

På den här sidan hittar du en lista över de viktigaste Excel Lookup-funktionerna med formelexempel och djupgående handledningar som är länkade som referens.

    Excel Lookup - grunderna

    Innan vi dyker in i Excel Lookup-formlerna, ska vi definiera de viktigaste termerna för att se till att vi alltid är på samma sida.

    Sök på - söka efter ett visst värde i en tabell med data.

    Uppslagsvärde - ett värde att söka efter.

    Returvärde (matchande värde eller matchning) - ett värde på samma position som uppslagsvärdet, men i en annan kolumn eller rad (beroende på om du gör vertikal eller horisontell uppslagning).

    Uppslagstabell Inom datavetenskap är en uppslagstabell en datamatris som vanligtvis används för att matcha inmatningsvärden till utmatningsvärden. När det gäller den här handledningen är en Excel-uppslagstabell inget annat än ett område med celler där du söker efter ett uppslagsvärde.

    Huvudbord (huvudtabell) - en tabell som du tar in matchande värden i.

    Uppslagstabellen och huvudtabellen kan ha olika struktur och storlek, men de bör alltid innehålla minst en Gemensam unik identifierare. , dvs. en kolumn eller rad som innehåller identiska uppgifter, beroende på om du vill göra en vertikal eller horisontell sökning.

    Följande skärmdump visar ett exempel på en uppslagstabell som kommer att användas i många av nedanstående exempel.

    Excel Lookup-funktioner

    Nedan följer en snabb översikt över de mest populära formlerna för att utföra uppslag i Excel, deras främsta fördelar och nackdelar.

    LOOKUP-funktionen

    Funktionen LOOKUP i Excel kan utföra de enklaste typerna av vertikala och horisontella sökningar.

    Fördelar : Lätt att använda.

    Nackdelar : Begränsad funktionalitet, kan inte arbeta med osorterade data (kräver att uppslagskolumnen/raden sorteras i stigande ordning).

    För mer information, se Hur du använder Excel LOOKUP-funktionen.

    VLOOKUP-funktionen

    Det är en förbättrad version av LOOKUP-funktionen som är speciellt utformad för att göra följande vertikal sökning i kolumner.

    Fördelar : Relativt lätt att använda, kan arbeta med exakt och ungefärlig matchning.

    Nackdelar : Kan inte titta till vänster, slutar fungera när en kolumn läggs in i eller tas bort från uppslagstabellen, ett uppslagsvärde får inte överstiga 255 tecken, kräver mycket datakraft på stora datamängder.

    Mer information finns i Excel VLOOKUP-handledning för nybörjare.

    HLOOKUP-funktionen

    Det är en horisontell motsvarighet till VLOOKUP som söker efter ett värde i den första raden i uppslagstabellen och returnerar värdet i samma position från en annan rad.

    Fördelar : Lätt att använda, kan ge exakta och ungefärliga träffar.

    Nackdelar : Kan endast söka i den översta raden i uppslagstabellen, påverkas av att rader läggs in eller tas bort, ett uppslagsvärde bör vara mindre än 255 tecken.

    Mer information finns i Hur man använder HLOOKUP i Excel.

    VLOOKUP-MATCH / HLOOKUP-MATCH

    En dynamisk kolumn- eller radreferens som skapats av MATCH gör denna Excel-uppslagsformel immun mot ändringar i datamängden. Med andra ord kan funktionerna VLOOKUP och HLOOKUP med hjälp av MATCH returnera korrekta värden oavsett hur många kolumner/rader som har lagts in i eller tagits bort från en uppslagstabell.

    Formel för vertikal sökning

    VLOOKUP( Lookup_value , lookup_table , MATCH( return_column_name , kolumn_rubriker , 0), FALSE)

    Formel för horisontell sökning

    HLOOKUP( Lookup_value , lookup_table , MATCH( return_row_name , row_headers (radrubriker) , 0), FALSE)

    Fördelar : En förbättring av vanliga Hlookup- och Vlookup-formler som är immuna mot att data läggs in eller tas bort.

    Nackdelar : Inte särskilt flexibel, kräver en särskild datastruktur (det uppslagsvärde som lämnas till MATCH-funktionen ska vara exakt lika med namnet på returkolumnen), kan inte arbeta med uppslagsvärden som överstiger 255 tecken.

    Mer information och exempel på formler finns på:

    • Excel Vlookup och matchning
    • Excel Hlookup och matchning

    OFFSET MATCH

    En mer komplicerad men kraftfull formel för uppslag, som inte har samma begränsningar som Vlookup och Hlookup.

    Formel för V-Lookup

    OFFSET( Lookup_table , MATCH( Lookup_value , OFFSET( Lookup_table , 0, n , ROWS( Lookup_table ), 1) ,0) -1, m , 1, 1)

    Var:

    • n - är förskjutningen av uppslagskolonnen, dvs. antalet kolumner som ska flyttas från startpunkten till uppslagskolonnen.
    • m - är förskjutningen av returkolumnen, dvs. det antal kolumner som ska flyttas från startpunkten till returkolumnen.

    Formel för H-lookup

    OFFSET( Lookup_table , m , MATCH( Lookup_value , OFFSET( Lookup_table , n , 0, 1, KOLUMNER( Lookup_table )), 0) -1, 1, 1)

    Var:

    • n - är förskjutningen av sökningsraden, dvs. det antal rader som ska flyttas från startpunkten till sökningsraden.
    • m - är förskjutningen av den återkommande raden, dvs. antalet rader som ska flyttas från startpunkten till den återkommande raden.

    Formel för matrisuppslag (per rad och kolumn)

    {=OFFSET ( startpunkt , MATCH ( vertical_lookup_value , Lookup_column , 0), MATCH ( horisontellt_lookup_värde , lookup_row , 0))}

    Observera att detta är en arrayformel som du anger genom att trycka på tangenterna Ctrl + Shift + Enter samtidigt.

    Fördelar : Gör det möjligt att utföra en Vlookup på vänster sida, en övre Hlookup och en tvåvägssökning (med kolumn- och radvärden), utan att påverkas av ändringar i datamängden.

    Nackdelar : Komplex och svår att komma ihåg syntax.

    Mer information och exempel på formler finns i: Användning av OFFSET-funktionen i Excel

    INDEX MATCH

    Det är det bästa sättet att göra vertikala eller horisontella sökningar i Excel och kan ersätta de flesta av ovanstående formler. Formeln Index Match är min personliga preferens och jag använder den för nästan alla mina Excel-sökningar.

    Formel för V-Lookup

    INDEX ( return_column , MATCH ( Lookup_value , Lookup_column , 0))

    Formel för H-lookup

    INDEX ( return_row , MATCH ( Lookup_value , lookup_row , 0))

    Formel för matrisuppslag

    En utvidgning av den klassiska formeln Index Match för att återge ett värde i skärningspunkten mellan en specifik kolumn och rad:

    INDEX ( Lookup_table , MATCH ( vertical_lookup_value , Lookup_column , 0), MATCH ( horisontellt_lookup_värde , lookup_row , 0))

    Nackdelar : Bara en - du måste komma ihåg formelns syntax.

    Fördelar : Den mest mångsidiga Lookup-formeln i Excel, överlägsen Vlookup, Hlookup och Lookup-funktionerna i många avseenden:

    • Den kan göra vänster- och övre sökningar.
    • Gör det möjligt att på ett säkert sätt utöka eller minska uppslagstabellen genom att infoga eller ta bort kolumner och rader.
    • Ingen begränsning av storleken på uppslagsvärdet.
    • Fungerar snabbare: Eftersom en indexmatchformel hänvisar till kolumner/rader snarare än till en hel tabell kräver den mindre processorkraft och saktar inte ner Excel.

    För mer information, se:

    • INDEX MATCH som ett bättre alternativ till VLOOKUP
    • INDEX MATCH MATCH-formel för tvådimensionell sökning

    Jämförelsetabell för Excel Lookup

    Som du ser är inte alla Excel Lookup-formler likvärdiga, vissa kan hantera ett antal olika sökningar medan andra bara kan användas i en specifik situation. I tabellen nedan beskrivs funktionerna för varje Lookup-formel i Excel.

    Formel Vertikal sökning Vänstersökning Horisontell sökning Övre uppslag Uppslag i matris Möjlighet att lägga in/ta bort data.
    Sök på
    Vlookup
    Hlookup
    Vlookup Match
    Hlookup Match
    Matchning av offset
    Offset Match Match Match
    Indexmatchning
    Index Match Match Match

    Exempel på Excel-formler för uppslagsformler

    Det första steget när du bestämmer vilken formel du ska använda i en specifik situation är att bestämma vilken typ av sökning du vill utföra. Nedan hittar du exempel på formler för de mest populära typerna av sökningar:

      Vertikal sökning i kolumner

      En vertikal lookup eller Vlookup är processen att hitta ett lookup-värde i en kolumn och returnera ett värde i samma rad från en annan kolumn. Vlookup i Excel kan göras på flera olika sätt, bland annat:

      VLOOKUP-funktionen

      Om dina uppslagsvärden finns i tabellens vänstra kolumn och du inte planerar att göra några strukturella ändringar i datasetet (varken lägga till eller ta bort kolumner) kan du använda en vanlig Vlookup-formel:

      =VLOOKUP(G2, $A$2:$E$6, 5, FALSE)

      Där G2 är uppslagsvärdet, A2:E6 i uppslagstabellen och E är returkolumnen.

      VLOOKUP MATCH

      Om du arbetar med en "variabel" Excel-uppslagstabell där kolumner kan läggas in och tas bort när som helst, kan du göra din Vlookup-formel immun mot dessa ändringar genom att bädda in funktionen Match som skapar en dynamisk kolumnreferens i stället för ett "hårt kodat" indexnummer:

      =VLOOKUP(F2,$A$1:$D$6, MATCH($G$1,$A$1:$D$1, 0), FALSE)

      INDEX MATCH - Vänstersökning

      Det är min favoritformel som enkelt hanterar sökningar från höger till vänster och fungerar perfekt oavsett hur många kolumner du lägger till eller tar bort.

      Om du t.ex. vill söka i kolumn B efter värdet i H2 och återge en matchning från kolumn F använder du följande formel:

      =INDEX($F$2:$F$6,(MATCH(H2,$B$2:$B$6,0)))

      Observera: När du planerar att använda en Vlookup-formel i mer än en cell bör du alltid låsa referensen till uppslagstabellen genom att använda $-tecknet (absolut cellreferens), så att formeln kopieras korrekt till andra celler.

      Horisontell sökning i rader

      En horisontell sökning är en "transponerad" version av vertikal sökning som söker i en horisontellt ordnad datamängd. Med andra ord söker den efter sökvärdet i en rad och returnerar ett värde i samma position från en annan rad.

      Om du antar att ditt uppslagsvärde finns i B9, att uppslagstabellen är B1:F5 och att du vill returnera ett matchande värde från rad 5, använder du en av följande formler:

      HLOOKUP-funktionen

      Kan endast titta upp över hela översta raden i din datamängd.

      =HLOOKUP(B8, $B$1:$F$5, 5, FALSE)

      HLOOKUP MATCH

      Liksom ren Hlookup kan den här formeln endast söka i den översta raden, men du kan även säkert infoga eller ta bort rader i uppslagstabellen.

      =HLOOKUP(B8, $B$1:$F$5, MATCH($A$9, $A$1:$A$5, 0), FALSE)

      Där A1:A5 är radrubriker och A9 är namnet på den rad från vilken du vill återge matchningar.

      INDEX MATCH

      Kan slå upp i någon rad , och har inga av de begränsningar som finns i de ovanstående formlerna.

      =INDEX($B$5:$F$5,(MATCH(B8,$B$1:$F$1,0)))

      Tvådimensionell sökning (baserad på rad- och kolumnvärden)

      Tvådimensionell sökning (även kallad matrisuppslag , dubbel uppslag eller . 2-vägs uppslag ) returnerar ett värde baserat på träffar i både rader och kolumner. Med andra ord söker en 2-dimensionell uppslagsformel efter ett värde i skärningspunkten mellan en angiven rad och kolumn.

      Om du antar att din uppslagstabell är A1:E6, att cell H2 innehåller det värde som ska matchas på raderna och att H3 innehåller det värde som ska matchas på kolumnerna, kommer följande formler att fungera utmärkt:

      INDEX MATCH MATCH MATCH-formel :

      =INDEX($A$1:$E$6, MATCH(H2,$A$1:$A$6,0), MATCH(H3,$A$1:$E$1,0))

      OFFSET MATCH MATCH MATCH-formel :

      =OFFSET($A$1,MATCH(H2,$A$2:$A$6,0),MATCH(H3,$B$1:$E$1,0))

      Förutom ovanstående formler finns det en handfull andra sätt att utföra matrisuppslag i Excel, och du kan hitta fullständig information i Hur man gör 2-vägsuppslag i Excel.

      Tredimensionell sökning

      Tredimensionell sökning innebär att man söker med hjälp av tre olika sökvärden. I en datamängd nedan antar vi att du vill söka efter ett visst år (H2), sedan efter ett visst namn inom det året (H3) och sedan returnera ett värde för en viss månad (H4).

      Uppgiften kan utföras med följande formel (kom ihåg att trycka på Ctrl + Shift + Enter för att fylla i den korrekt):

      =INDEX($A$1:$E$12,MIN(IF((ROW($A$1:$A$12)>MATCH(H2,$A$1:$A$12,0))*($A$1:$A$12=H3),ROW($A$1:$A$12),"")),MATCH(H4,$A$1:$E$1,0)))

      Uppslag med flera kriterier

      För att kunna utvärdera flera kriterier måste vi ändra den klassiska indexmatchformeln så att den blir en arrayformel:

      INDEX( lookup_table , MATCH(1, ( lookup_value1 = lookup_column1 ) * ( lookup_value2 = lookup_column2 )*..., 0), return_column_number )

      Med uppslagstabellen i A1:C11 kan vi hitta en matchning med två kriterier: sök i kolumn A efter ett värde i cell F1 och i kolumn B efter ett värde i cell F2:

      =INDEX($A$1:$C$11, MATCH(1, (F1=$A$1:$A$11) * (F2=$B$1:$B$11),0), 3)

      Som vanligt trycker du på Ctrl + Shift + Enter för att formeln ska utvärderas som en matrisformel.

      En detaljerad förklaring av formelns logik finns i INDEX MATCH för att söka upp med flera kriterier.

      Lookup för att återge flera värden

      Oavsett vilken Excel Lookup-funktion du använder (LOOKUP, VLOOKUP eller HLOOKUP) kan den bara ge en enda träff. För att få fram alla funna träffar måste du använda sex olika funktioner kombinerade i en matrisformel:

      IFERROR(INDEX( return_range , SMALL(IF(( Lookup_value = lookup_range , ROW( return_range )- m ,""), ROW() - n )),"")

      Var:

      • m är radnumret för den första cellen i returområdet minus 1.
      • n är radnumret för den första formelcellen minus 1.

      Med uppslagsvärdet i cell E2, uppslagsintervallet i A2:A11, returintervallet i B2:B11 och den första formelcellen i rad 2 får din uppslagsformel följande form:

      =IFERROR(INDEX($B$2:$B$11, SMALL(IF($E$2 =$A$2:$A$11, ROW($B$2:$B$11 )- 1,""), ROW() - 1 )),"")

      För att formeln ska ge flera träffar skriver du in den i den första cellen (F2), trycker på Ctrl + Shift + Enter och kopierar sedan formeln till andra celler i kolumnen.

      För en detaljerad förklaring av ovanstående formel och andra sätt att returnera flera värden, se Hur man använder Vlookup för att returnera flera resultat.

      Nested lookup (från 2 lookup-tabeller)

      Om huvudtabellen och den uppslagstabell som du vill hämta data från inte har en gemensam kolumn kan du använda en extra uppslagstabell för att fastställa matchningar, på följande sätt:

      För att hämta värdena från Belopp kolumnen i Lookup_table2 använder du följande formel:

      =VLOOKUP(VLOOKUP(A2, Lookup_table1!$A$1:$B$6, 2, FALSE), Lookup_table2!$A$1:$B$6, 2, FALSE)

      Som framgår av skärmbilden nedan fungerar vår inbäddade uppslagsformel perfekt:

      Sekventiella Vlookups från flera ark

      Om du vill utföra sekventiella Vlookups baserat på om en tidigare sökning lyckades eller misslyckades använder du inbäddade IFERROR-funktioner tillsammans med VLOOKUPs för att utvärdera flera villkor ett efter ett:

      IFERROR(VLOOKUP( ... ), IFERROR(VLOOKUP( ... ), IFERROR(VLOOKUP( ... ), "Ej funnen")))))

      Om den första Vlookupen misslyckas fångar IFERROR felet och kör en ny Vlookup. Om den andra Vlookupen inte heller hittar något fångar den andra IFERROR felet och kör den tredje Vlookupen, och så vidare. Om alla Vlookups misslyckas returnerar den sista IFERROR "not found" (inte funnen) eller ett annat meddelande som du anger i formeln.

      Som exempel kan vi försöka ta fram beloppet från tre olika ark:

      =IFERROR(VLOOKUP(B1,A6:B9,2,0), IFERROR(VLOOKUP(B1,D6:E9,2,0), IFERROR(VLOOKUP(B1,G6:H9,2,0), "Not found"))))

      Resultatet kommer att se ut ungefär så här:

      Mer information finns i avsnittet Hur man använder inbäddade IFERROR-funktioner i Excel.

      Bokstavskänslig sökning

      Som du säkert vet är alla Excel Lookup-funktioner av naturliga skäl okänsliga för stor- och små bokstäver. Om du vill tvinga din lookup-formel att skilja mellan små och stora bokstäver, använd antingen LOOKUP eller INDEX MATCH i kombination med EXACT-funktionen. Jag väljer personligen INDEX MATCH eftersom den inte kräver att värdena i lookup-kolumnen sorteras som LOOKUP-funktionen gör, den kan utföra både från vänster till höger och från vänster till höger.och höger-till-vänster-lookups, och fungerar perfekt för alla datatyper.

      INDEX( return_column , MATCH(TRUE, EXACT( Lookup_column , Lookup_value ),0))

      Med G2 som uppslagsvärde, A - kolumnen för att söka mot och E - kolumnen för att återge träffarna från, går vår formel för stor- och småbokskänslig uppslagsmetod som följer:

      =INDEX($E$2:$E$6, MATCH(TRUE, EXACT($A$2:$A$6,G2),0))

      Eftersom det är en formel för matris Tryck på Ctrl + Shift + Enter för att slutföra det på rätt sätt.

      För fler exempel på formler, se Hur man gör en skiftlägeskänslig sökning i Excel.

      Sökning av partiell strängmatchning

      Att söka upp genom partiell matchning är en av de mest utmanande uppgifterna i Excel som det inte finns någon universallösning för. Vilken formel du ska använda beror på vilken typ av skillnader som finns mellan dina uppslagsvärden och värdena i kolumnen som du ska söka i. I de flesta fall använder du funktionen LEFT, RIGHT eller MID för att extrahera den gemensamma delen av värdena, och sedan överföra den delen till funktionen Lookup_value argumentet i Vlookup-funktionen som i följande formel:

      =VLOOKUP(RIGHT(D2,4), $A$2:$B$6, 2, FALSE)

      Där D2 är uppslagsvärdet, A2:B6 är uppslagstabellen och 2 är indexnumret för den kolumn som ska återge träffarna.

      För andra sätt att utföra en sökning med partiell matchning i Excel, se Hur man slår ihop två kalkylblad genom partiell matchning.

      Så här använder du Lookup-funktionerna i Excel. Om du vill titta närmare på de formler som diskuteras i den här handledningen är du välkommen att ladda ner våra exempel på Excel Lookup-formler.

      Formelfritt sätt att göra uppslag i Excel

      Det säger sig självt att Excel-sökning inte är en trivial uppgift. Om du tar dina första steg för att lära dig Excel kan formlerna för sökning verka ganska förvirrande och svåra att förstå. Men känn dig inte avskräckt, dessa färdigheter är inte naturliga för majoriteten av användarna!

      För att göra det lättare för nybörjare har vi skapat ett särskilt verktyg, Merge Tables Wizard, som kan söka upp, matcha och slå ihop tabeller utan en enda formel. Dessutom erbjuder det ett antal unika alternativ som även avancerade Excel-användare kan dra nytta av:

      • Sökning efter flera kriterier dvs. använda en eller flera kolumner som unik(a) identifierare.
      • Uppdatera värden i befintliga kolumner och lägga till nya kolumner från uppslagstabellen.
      • Återge flera matchningar När den används i kombination med guiden Kombinera rader kan den till och med ge flera resultat i en enda cell, med kommatecken eller på annat sätt separerade (ett exempel finns här).
      • Och mer.

      Det är enkelt och intuitivt att arbeta med guiden Slå ihop tabeller. Allt du behöver göra är att:

      1. Välj huvudtabellen där du vill hämta matchande värden.
      2. Välj det uppslagsverk som du vill hämta träffarna från.
      3. Definiera en eller flera gemensamma kolumner.
      4. Välj de kolumner som ska uppdateras och/eller läggas till i slutet av tabellen.
      5. Du kan också välja ett eller flera ytterligare sammanslagningsalternativ.
      6. Klicka på Slutförande och du kommer att få ett resultat på ett ögonblick!

      Om du är nyfiken på att prova tillägget på dina egna arbetsblad kan du ladda ner en testversion av vår Ultimate Suite som innehåller alla våra tidsbesparande verktyg för Excel (totalt 70+ verktyg och 300+ funktioner!).

      Tillgängliga nedladdningar

      Exempel på Excel Lookup-formler (.xlsx-fil)

      Ultimate Suite 14-dagars fullt fungerande version (.exe-fil)

      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.