Innehållsförteckning
Idag ska vi titta på hur man använder VLOOKUP i Excel med många detaljerade steg-för-steg-exempel. Du får lära dig hur man använder VLOOKUP från ett annat ark och en annan arbetsbok, hur man söker med jokertecken och mycket mer.
Den här artikeln börjar en serie om VLOOKUP, en av de mest användbara Excel-funktionerna och samtidigt en av de mest komplicerade och minst förstådda. Vi kommer att försöka förklara grunderna på ett mycket enkelt språk för att göra inlärningskurvan för en oerfaren användare så enkel som möjligt. Vi kommer också att ge exempel på formler som täcker de mest typiska användningarna av VLOOKUP i Excel, och försöka görade är både informativa och roliga.
Excel VLOOKUP-funktionen
Vad är VLOOKUP? Till att börja med är det en Excel-funktion :) Vad gör den? Den söker efter det värde du anger och returnerar ett motsvarande värde från en annan kolumn. Mer tekniskt sett söker VLOOKUP-funktionen efter ett värde i den första kolumnen i ett givet intervall och returnerar ett värde i samma rad från en annan kolumn.
I sin vanligaste användning söker Excel VLOOKUP genom datamängden baserat på den unika identifieraren och ger dig information som är associerad med den unika identifieraren.
Bokstaven "V" står för "vertikal" och används för att skilja VLOOKUP från HLOOKUP-funktionen som söker upp ett värde i en rad snarare än i en kolumn (H står för "horisontell").
Funktionen är tillgänglig i alla versioner av Excel 365 till och med Excel 2007.
Tips: I Excel 365 och Excel 2021 kan du använda funktionen XLOOKUP, som är en mer flexibel och kraftfull efterföljare till VLOOKUP.
Syntax för VLOOKUP
Syntaxen för VLOOKUP-funktionen är följande:
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])Var:
- Lookup_value (obligatoriskt) - är det värde som ska sökas efter.
Det kan vara ett värde (tal, datum eller text), en cellreferens (referens till en cell som innehåller ett uppslagsvärde) eller det värde som returneras av någon annan funktion. Till skillnad från tal och cellreferenser ska textvärden alltid omslutas av "dubbla citattecken".
- Tabell_array (obligatoriskt) - är det cellintervall där man ska söka efter uppslagsvärdet och från vilket man ska hämta en träff. VLOOKUP-funktionen söker alltid i den första kolumnen i tabellmatrisen. som kan innehålla olika textvärden, siffror, datum och logiska värden.
- Col_index_num (krävs) - är numret på den kolumn från vilken ett värde ska returneras. Räkningen börjar från den vänstra kolumnen i tabellmatrisen, som är 1.
- Range_lookup (valfritt) - bestämmer om du ska söka efter ungefärlig eller exakt matchning:
- TRUE eller utelämnas (standard) - ungefärlig matchning. Om en exakt matchning inte hittas söker formeln efter det största värdet som är mindre än uppslagsvärdet. Kräver att uppslagskolumnen sorteras i stigande ordning.
- FALSE - exakt matchning. Formeln söker efter ett värde som är exakt lika med uppslagsvärdet. Om en exakt matchning inte hittas returneras ett #N/A-värde.
Grundläggande VLOOKUP-formel
Här är ett exempel på Excel-formeln VLOOKUP i sin enklaste form. Ta en titt på nedanstående formel och försök att "översätta" den till engelska:
=VLOOKUP("lion", A2:B11, 2, FALSE)
- Det första argumentet ( Lookup_value ) visar tydligt att formeln söker upp ordet "lejon".
- Det andra argumentet ( tabell_array ) är A2:B11. Med tanke på att sökningen utförs i kolumnen längst till vänster kan du läsa formeln ovan lite vidare: sök efter "lion" i intervallet A2:A11. Så långt, så bra, eller hur?
- Det tredje argumentet col_index_num är 2. Det betyder att vi vill returnera ett matchande värde från kolumn B, som är den andra i tabellmatrisen.
- Det fjärde argumentet range_lookup är FALSK, vilket betyder att vi söker efter exakt matchning.
När alla argumenten är fastställda bör du inte ha några problem med att läsa hela formeln: sök efter "lion" i A2:A11, hitta en exakt matchning och återge ett värde från kolumn B i samma rad.
För enkelhetens skull kan du skriva in det intressanta värdet i en cell, till exempel E1, ersätta den "hårdkodade" texten med cellhänvisningen och få formeln att leta upp vilket värde som helst som du anger i E1:
=VLOOKUP(E1, A2:B11, 2, FALSE)
Finns det något som är oklart? Försök då att se det på det här sättet:
Hur man gör en Vlookup i Excel
När du använder VLOOKUP-formler i riktiga arbetsblad är huvudregeln följande: låsbordsmatris med absoluta cellreferenser (t.ex. $A$2:$C$11) för att förhindra att den ändras när du kopierar en formel till andra celler.
Uppslagsvärde bör i de flesta fall vara en relativ referens (som E2) eller så kan du låsa endast kolumnkoordinaten ($E2). När formeln kopieras nedåt i kolumnen justeras referensen automatiskt för varje rad.
För att se hur det fungerar i praktiken kan du titta på följande exempel. Till vår exempeltabell har vi lagt till ytterligare en kolumn som rangordnar djuren efter hastighet (kolumn A) och vi vill hitta den 1:a, 5:e och 10:e snabbaste sprintern i världen. För att göra detta anger du uppslagsrankningarna i några celler (E2:E4 i skärmdumpen nedan) och använder följande formler:
För att ta fram djurnamnen från kolumn B:
=VLOOKUP($E2, $A$2:$C$11, 2, FALSE)
För att extrahera hastigheten från kolumn C:
=VLOOKUP($E2, $A$2:$C$11, 3, FALSE)
Skriv in ovanstående formler i cellerna F2 och G2, markera dessa celler och dra formlerna till de nedre raderna:
Om du undersöker formeln i en lägre rad kommer du att märka att referensen för uppslagsvärdet har justerats för den specifika raden, medan tabellmatrisen är oförändrad:
Nedan får du några fler användbara tips som kommer att bespara dig mycket huvudvärk och tid för felsökning.
Excel VLOOKUP - 5 saker att komma ihåg!
- VLOOKUP-funktionen kan inte titta på sin vänstra sida. Den söker alltid i längst till vänster i kolumnen Om du behöver hämta värden från vänster använder du kombinationen INDEX MATCH (eller INDEX XMATCH i Excel 365) som inte bryr sig om placeringen av kolumnerna för uppslag och retur.
- VLOOKUP-funktionen är skiftlägeskänslig. Det betyder att stora och små bokstäver behandlas som likvärdiga. För att skilja mellan olika bokstavsbokstäver kan du använda VLOOKUP-formler som tar hänsyn till stor- och små bokstäver.
- Kom ihåg hur viktig den sista parametern är. Använd TRUE för ungefärlig matchning och FALSE för exakt matchning. För fullständig information, se VLOOKUP TRUE vs. FALSE.
- När du söker efter ungefärlig matchning ska du se till att uppgifterna i uppslagskolumnen är sorterade i stigande ordning.
- Om uppslagsvärdet inte hittas returneras ett #N/A-fel. För information om andra fel, se Varför Excel VLOOKUP inte fungerar.
Excel VLOOKUP-exempel
Jag hoppas att du börjar känna igen dig i vertikal lookup. För att stärka dina kunskaper ska vi bygga några fler VLOOKUP-formler.
Hur man Vlookup från ett annat ark i Excel
I praktiken används Excel-funktionen VLOOKUP sällan med data i samma arbetsblad, utan oftast måste du hämta motsvarande data från ett annat arbetsblad.
Om du vill göra en Vlookup från ett annat Excel-ark anger du arbetsbladets namn följt av ett utropstecken i fältet tabell_array argumentet före intervallreferensen. Om du till exempel vill söka i intervallet A2:B10 på Blad2 använder du den här formeln:
=VLOOKUP("Product1", Sheet2!A2:B10, 2)
Du behöver naturligtvis inte skriva in arkets namn manuellt. Börja helt enkelt skriva formeln och när du kommer till tabell_array argumentet, växla till kalkylbladet och välj intervallet med musen.
Så här kan du t.ex. söka upp värdet A2 i intervallet A2:A9 på Priser arbetsbladet och återge ett matchande värde från kolumn C:
=VLOOKUP(A2, Prices!$A$2:$C$9, 3, FALSE)
Anteckningar:
- Om kalkylbladets namn innehåller mellanslag eller icke-alfabetiska tecken måste det omges av enkla citattecken, t.ex. "Prislista"!$A$2:$C$9.
- Om du använder en VLOOKUP-formel för flera celler ska du komma ihåg att lås table_array med $-tecknet, till exempel $A$2:$C$9.
Hur man Vlookup från en annan arbetsbok i Excel
Om du vill använda Vlookup från en annan Excel-arbetsbok skriver du arbetsbokens namn inom hakparenteser före arbetsbladets namn.
Här är t.ex. formeln för att söka upp A2-värdet på det ark som heter Priser i den Prislista.xlsx arbetsbok:
=VLOOKUP(A2, [Price_List.xlsx]Prices!$A$2:$C$9, 3, FALSE)
Om arbetsboksnamnet eller arbetsbladsnamnet innehåller mellanslag eller andra tecken än bokstavsbeteckningar ska du omsluta dem med enkla citattecken på följande sätt:
=VLOOKUP(A2, '[Price List.xlsx]Prices'!$A$2:$C$9, 3, FALSE)
Det enklaste sättet att skapa en VLOOKUP-formel som hänvisar till en annan arbetsbok är följande:
- Öppna båda filerna.
- Börja skriva formeln, växla till den andra arbetsboken och välj tabellmatrisen med musen.
- Ange de övriga argumenten och tryck på Enter för att slutföra formeln.
Resultatet kommer att se ut ungefär som i skärmbilden nedan:
När du stäng filen med din uppslagstabell fortsätter VLOOKUP-formeln att fungera, men den visar nu den fullständiga sökvägen till den stängda arbetsboken:
Mer information finns i Hur du hänvisar till ett annat Excel-ark eller en annan arbetsbok.
Hur man Vlookup från ett namngivet intervall i ett annat ark
Om du planerar att använda samma uppslagsintervall i många formler kan du skapa ett namngivet intervall för det och skriva namnet direkt i tabell_array argument.
Om du vill skapa ett namngivet intervall markerar du bara cellerna och skriver det namn du vill ha i fältet Namn till vänster om formellfältet. Detaljerade steg finns i avsnittet Hur man namnger ett intervall i Excel.
I det här exemplet gav vi namnet Priser_2020 till datacellerna (A2:C9) i uppslagsbladet och får den här kompakta formeln:
=VLOOKUP(A2, Prices_2020, 3, FALSE)
De flesta namn i Excel gäller för hela arbetsboken så du behöver inte ange arbetsbladets namn när du använder namngivna intervall.
Om det namngivna intervallet ligger i en annan arbetsbok , lägg arbetsbokens namn före intervallnamnet, till exempel:
=VLOOKUP(A2, 'Price List.xlsx'!Prices_2020, 3, FALSE)
Sådana formler är mycket mer begripliga, eller hur? Dessutom kan namngivna intervall vara ett bra alternativ till absoluta referenser. Eftersom ett namngivet intervall inte ändras kan du vara säker på att din tabellmatris förblir låst oavsett var formeln flyttas eller kopieras.
Om du har konverterat ditt uppslagsintervall till en fullt fungerande Excel-tabell kan du göra en Vlookup baserad på tabellens namn, t.ex. Pris_tabell i nedanstående formel:
=VLOOKUP(A2, Price_table, 3, FALSE)
Tabellreferenser, även kallade strukturerade referenser, är motståndskraftiga och immuna mot många datamanipulationer. Du kan till exempel ta bort eller lägga till nya rader i din uppslagstabell utan att behöva oroa dig för att uppdatera referenserna.
Användning av jokertecken i VLOOKUP-formeln
Precis som många andra formler accepterar Excel-funktionen VLOOKUP följande jokertecken:
- Frågetecken (?) för att matcha ett enskilt tecken.
- Asterisk (*) för att matcha vilken sekvens av tecken som helst.
Jokertecken är mycket användbara i många situationer:
- När du inte kommer ihåg exakt vilken text du söker.
- När du letar efter en textsträng som är en del av cellinnehållet.
- När en uppslagskolumn innehåller inledande eller avslutande mellanslag kan det hända att du försöker komma på varför en normal formel inte fungerar.
Exempel 1. Sök upp text som börjar eller slutar med vissa tecken.
Anta att du vill hitta en viss kund i databasen nedan. Du minns inte efternamnet, men du är säker på att det börjar med "ack".
Om du vill få tillbaka efternamnet från kolumn A använder du följande Vlookup-formel med jokertecken:
=VLOOKUP("ack*", $A$2:$B$10, 1, FALSE)
Om du vill hämta licensnyckeln från kolumn B använder du den här (skillnaden är endast kolumnindexnumret):
=VLOOKUP("ack*", $A$2:$B$10, 2, FALSE)
Du kan också skriva in den kända delen av namnet i en cell, till exempel E1, och kombinera jokertecknet med cellreferensen:
=VLOOKUP(E1& "*", $A$2:$B$10, 1, FALSE)
Nedanstående skärmdump visar resultatet:
Nedan följer några fler VLOOKUP-formler med jokertecken.
Hitta efternamn som slutar på "son":
=VLOOKUP("*son", $A$2:$B$10, 1, FALSE)
Ta ett namn som börjar med "joh" och slutar med "son":
=VLOOKUP("joh*son", $A$2:$B$10, 1, FALSE)
Ta fram ett efternamn med 5 tecken:
=VLOOKUP("?????", $A$2:$B$10, 1, FALSE)
Exempel 2. VLOOKUP wildcard baserat på cellvärde
Från föregående exempel vet du redan att det är möjligt att sammanfoga ett ampersand (&) och en cellreferens för att skapa en söksträng. Om du vill hitta ett värde som innehåller ett eller flera tecken i vilken position som helst, sätter du ett ampersand före och efter cellreferensen.
Låt oss säga att du vill få fram ett namn som motsvarar en viss licensnyckel, men att du inte känner till hela nyckeln, utan bara några tecken. Med nycklarna i kolumn A, namnen i kolumn B och en del av målnyckeln i E1 kan du göra en Vlookup med jokertecken på det här sättet:
Ta ut nyckeln:
=VLOOKUP("*"&E1& "*", $A$2:$B$10, 1, FALSE)
Extrahera namnet:
=VLOOKUP("*"&E1& "*", $A$2:$B$10, 2, FALSE)
Anteckningar:
- För att en VLOOKUP-formel med jokertecken ska fungera korrekt måste du använda en exakt matchning (FALSE är det sista argumentet).
- Om mer än en träff hittas, returneras den första. .
VLOOKUP SANN eller FALSKT
Nu är det dags att titta närmare på det sista argumentet i Excel-funktionen VLOOKUP. Även om det är valfritt, är range_lookup Parametern TRUE är mycket viktig. Beroende på om du väljer TRUE eller FALSE kan din formel ge olika resultat.
Excel VLOOKUP exakt matchning (FALSK)
Om range_lookup är inställd på FALSE, söker en Vlookup-formel efter ett värde som är exakt lika med uppslagsvärdet. Om två eller fler träffar hittas, returneras den första. Om en exakt träff inte hittas, uppstår felet #N/A.
Excel VLOOKUP ungefärlig matchning (TRUE)
Om range_lookup är satt till TRUE eller utelämnas (standard), söker formeln efter den närmaste överensstämmelsen. Närmare bestämt söker den först efter en exakt överensstämmelse, och om den inte hittas, söker den efter det näst största värdet som är mindre än uppslagsvärdet.
En Vlookup med ungefärlig matchning fungerar med följande förbehåll:
- Uppslagskolonnen måste vara sorterad i stigande ordning , från den minsta till den största, annars kan det hända att ett korrekt värde inte hittas.
- Om uppslagsvärdet är mindre än det minsta värdet i uppslagsmatrisen returneras ett #N/A-fel.
Följande exempel hjälper dig att bättre förstå skillnaden mellan en Vlookup med exakt matchning och en Vlookup med ungefärlig matchning och när det är bäst att använda varje formel.
Exempel 1. Hur du gör en Vlookup med exakt matchning
Om du vill hitta en exakt matchning anger du bara FALSE i det sista argumentet.
I det här exemplet tar vi tabellen över djurens hastighet, byter ut kolumnerna och försöker hitta de djur som kan springa 80, 50 och 30 miles i timmen. Med uppslagsvärdena i D2, D3 och D4 skriver du in nedanstående formel i E2 och kopierar den sedan ner till ytterligare två celler:
=VLOOKUP(D2, $A$2:$B$12, 2, FALSE)
Som du kan se ger formeln "Lion" i E3 eftersom de kör exakt 50 per timme. För de andra två referensvärdena hittas ingen exakt matchning, och #N/A-fel visas.
Exempel 2. Hur man använder Vlookup för ungefärlig matchning
Det finns två viktiga saker du måste göra för att hitta en ungefärlig matchning:
- Sortera den första kolumnen i tabell_array från den minsta till den största.
- Använd TRUE för range_lookup argumentet eller utelämna det.
Det är mycket viktigt att sortera uppslagskolumnen eftersom VLOOKUP-funktionen slutar söka så snart den hittar en nära matchning som är mindre än uppslagsvärdet. Om uppgifterna inte är sorterade på rätt sätt kan du få väldigt konstiga resultat eller en massa #N/A-fel.
För våra exempeluppgifter kan en ungefärlig matchningsformel för Vlookup användas på följande sätt:
=VLOOKUP(D2, $A$2:$B$12, 2, TRUE)
Och får följande resultat:
- För ett uppslagsvärde på "80" returneras "Cheetah" eftersom dess hastighet (70) är den närmaste matchningen som är mindre än uppslagsvärdet.
- För ett uppslagsvärde på "50" returneras en exakt matchning (Lion).
- För ett uppslagsvärde på "30" returneras ett #N/A-fel eftersom uppslagsvärdet är mindre än det minsta värdet i uppslagskolumnen.
Specialverktyg för Vlookup i Excel
VLOOKUP är utan tvekan en av de mest kraftfulla och användbara Excel-funktionerna, men också en av de mest förvirrande. För att göra inlärningskurvan mindre brant och upplevelsen roligare har vi inkluderat ett par tidsbesparande verktyg i vår Ultimate Suite för Excel.
VLOOKUP Wizard - enkelt sätt att skriva komplexa formler
Den interaktiva guiden VLOOKUP guidar dig genom konfigurationsalternativen för att skapa en perfekt formel för de kriterier du anger. Beroende på din datastruktur används standardfunktionen VLOOKUP eller en INDEX MATCH-formel som kan hämta värden från vänster.
Så här gör du för att få din skräddarsydda formel:
- Kör guiden VLOOKUP.
- Välj en huvudtabell och en uppslagstabell.
- Ange följande kolumner (i många fall väljs de automatiskt):
- Nyckelkolumn - kolumnen i huvudtabellen som innehåller de värden som ska sökas upp.
- Kolumn för uppslag - pelaren att titta upp mot.
- Returkolumn - kolumnen som värdena ska hämtas från.
- Klicka på Infoga knapp.
Följande exempel visar hur guiden fungerar.
Standard Vlookup
När kolumnen för uppslag ( Djur ) är kolumnen längst till vänster i uppslagstabellen, infogas en normal VLOOKUP-formel för exakt matchning:
Vlookup till vänster
När kolumnen för uppslag ( Djur ) är till höger om returkolumnen ( Hastighet ) infogar guiden en INDEX MATCH-formel för Vlookup från höger till vänster:
Extra bonus! Tack vare den smarta användningen av cellreferenser kan formlerna kopieras eller flyttas till vilken kolumn som helst utan att du behöver uppdatera referenserna.
Slå ihop två tabeller - formelfritt alternativ till Excel VLOOKUP
Om dina Excel-filer är enormt stora och komplexa, projektets deadline är nära förestående och du letar efter någon som kan ge dig en hjälpande hand kan du prova guiden Slå ihop tabeller.
Det här verktyget är vårt visuella och stressfria alternativ till Excels VLOOKUP-funktion, som fungerar på följande sätt:
- Välj ditt huvudbord.
- Välj uppslagstabellen.
- Välj en eller flera gemensamma kolumner som unik(a) identifierare.
- Ange vilka kolumner som ska uppdateras.
- Du kan också välja vilka kolumner som ska läggas till.
- Låt guiden Slå ihop tabellerna behandla dem i några sekunder... och njut av resultatet :)
Det är hur du använder VLOOKUP i Excel på grundnivå. I nästa del av vår handledning kommer vi att diskutera avancerade VLOOKUP-exempel som lär dig hur du kan Vlookup flera kriterier, returnera alla matchningar eller Nth förekomst, utföra dubbel Vlookup, söka upp över flera ark med en enda formel, och mer. Jag tackar dig för att du läste och hoppas att vi ses nästa vecka!
Tillgängliga nedladdningar
Exempel på Excel VLOOKUP-formler (.xlsx-fil)
Ultimate Suite 14-dagars fullt fungerande version (.exe-fil)