Excel VLOOKUP-funktion
Smakämnen Excel VLOOKUP-funktion är ett kraftfullt verktyg som hjälper dig att leta efter ett angivet värde genom att matcha den första kolumnen i en tabell eller ett intervall vertikalt och sedan returnera ett motsvarande värde från en annan kolumn i samma rad. Även om VLOOKUP är otroligt användbart kan det ibland vara svårt att förstå för nybörjare. Denna handledning syftar till att hjälpa dig att bemästra VLOOKUP genom att tillhandahålla steg-för-steg förklaring av argumenten, användbara exempel och lösningar på vanliga fel du kan stöta på när du använder VLOOKUP-funktionen.
Related Videos
Steg-för-steg förklaring av argument
Som visas i skärmdumpen ovan används funktionen VLOOKUP för att hitta ett e-postmeddelande baserat på ett givet ID-nummer. Jag kommer nu att ge en detaljerad förklaring av hur man använder VLOOKUP i det här exemplet genom att bryta ner varje argument steg för steg.
Steg 1: Starta VLOOKUP-funktionen
Välj en cell (H6 i det här fallet) för att mata ut resultatet och starta sedan UPPSÖKNINGSfunktionen genom att skriva följande innehåll i Formula Bar.
=VLOOKUP(
Steg 2: Ange uppslagsvärdet
Ange först uppslagsvärdet (vilket är vad du letar efter) i VLOOKUP-funktionen. Här refererar jag till cell G6 som innehåller ett visst ID-nummer 1005.
=VLOOKUP(G6
Steg 3: Ange tabellmatrisen
Ange sedan ett cellintervall som innehåller både värdet du letar efter och värdet du vill returnera. I det här fallet väljer jag området B6:E12. Formeln ser nu ut som följer:
=VLOOKUP(G6,B6:E12
=VLOOKUP(G6,$B$6:$E$12
Steg 4: Ange den kolumn som du vill returnera ett värde från
Ange sedan kolumnen du vill returnera ett värde från.
I det här exemplet, eftersom jag behöver returnera e-postmeddelandet baserat på ett ID-nummer, anger jag här ett nummer 4 för att tala om för VLOOKUP att returnera ett värde från den fjärde kolumnen i dataintervallet.
=VLOOKUP(G6,B6:E12,4
Steg 5: Hitta en ungefärlig eller exakt matchning
Avgör slutligen om du letar efter en ungefärlig matchning eller en exakt matchning.
- Att hitta en exakt matchningmåste du använda FALSK som sista argument.
- Att hitta en ungefärlig matchning, Använd SANN som sista argument, eller bara lämna det tomt.
I det här exemplet använder jag FALSE för exakt matchning. Formeln ser nu ut så här:
=VLOOKUP(G6,B6:E12,4,FALSE
Tryck på Enter för att få resultatet
Genom att förklara varje argument ett efter ett i exemplet ovan, är syntaxen och argumenten för funktionen VLOOKUP nu mycket lättare att förstå.
Syntax och argument
=VLOOKUP (lookup_value, table_array, col_index, [range_lookup])
- Uppslagningsvärde (obligatoriskt): Värdet (ett verkligt värde eller en cellreferens) du letar efter. Kom ihåg att detta värde måste finnas i den första kolumnen i table_array.
- Tabell_array (obligatoriskt): Ett cellintervall innehåller både kolumnen för uppslagsvärdet och kolumnen för returvärdet.
- Col_index (obligatoriskt): Ett heltal representerar kolumnnumret som innehåller returvärdet. Det börjar med nummer 1 för kolumnen längst till vänster i table_array.
- Range_lookup (valfritt): Ett logiskt värde som avgör om du vill att VLOOKUP ska hitta en ungefärlig matchning eller en exakt matchning.
- Ungefärlig matchning - Ställ in det här argumentet till SANN, 1 eller lämna det blank.
Viktigt: För att hitta en ungefärlig matchning måste värdena i den första kolumnen i table_array sorteras i stigande ordning i fall VLOOKUP returnerar fel resultat. - Exakt matchning - Ställ in det här argumentet till FALSK or 0.
- Ungefärlig matchning - Ställ in det här argumentet till SANN, 1 eller lämna det blank.
Exempel
Det här avsnittet visar några exempel för att hjälpa dig att få en mer heltäckande förståelse för funktionen VLOOKUP.
Exempel 1: Exakt matchning mot ungefärlig matchning i VLOOKUP
Om du är förvirrad angående exakt matchning och ungefärlig matchning när du använder VLOOKUP, kan det här avsnittet hjälpa dig att reda ut den förvirringen.
Exakt matchning i VLOOKUP
I det här exemplet ska jag hitta motsvarande namn baserat på poängen i intervallet E6:E8, så jag anger följande formel i cell F6 och drar AutoFyll-handtaget ner till F8. I denna formel anges det sista argumentet som FALSK för att utföra en exakt matchning.
=VLOOKUP(E6,$B$6:$C$12,2,FALSE)
Men eftersom poängen 98 inte finns i den första kolumnen i dataintervallet, returnerar VLOOKUP #N/A felresultat.
Ungefärlig match i VLOOKUP
Använder fortfarande exemplet ovan, om du ändrar det sista argumentet till SANN, VLOOKUP kommer att utföra en ungefärlig matchsökning. Om ingen matchning hittas kommer den att hitta det näst största värdet som är mindre än uppslagsvärdet och returnera motsvarande resultat.
=VLOOKUP(E6,$B$6:$C$12,2,TRUE)
Eftersom poängen 98 inte existerar, hittar VLOOKUP det näst största värdet som är mindre än 98, vilket är 95, och returnerar namnet på poängen 95 som det närmaste resultatet.
- I detta ungefärliga matchningsfall måste värdena i den första kolumnen i table_array sorteras i stigande ordning. Annars kanske VLOOKUP inte returnerar rätt värde.
- Här låste jag tabellmatrisen ($B$6:$C$12) i VLOOKUP-funktionen för att snabbt referera till en konsekvent uppsättning data mot flera uppslagsvärden.
Exempel 2: Använd VLOOKUP med flera kriterier
Det här avsnittet visar hur du använder VLOOKUP med flera villkor i Excel. Som visas i skärmdumpen nedan, om du försöker hitta en lön baserad på ett angivet namn (i cell H5) och avdelning (i cell H6), följ stegen nedan för att få det gjort.
Steg 1: Lägg till en hjälpkolumn för att sammanfoga värdena från uppslagskolumnerna
I det här fallet måste vi skapa en hjälpkolumn för att sammanfoga värdena från Namn kolumnen och Avdelning kolonn.
- Lägg till en hjälpkolumn till vänster om ditt dataintervall och ge en rubrik till denna kolumn. Se skärmdump:
- I den här hjälpkolumnen, välj den första cellen under rubriken, ange följande formel i Formula baroch tryck på ange.
=C6&" "&D6
Anmärkningar: I den här formeln använder vi ett et-tecken (&) för att sammanfoga texten i två kolumner för att skapa ett enda stycke text.- C6 är förnamnet på Namn kolumn för att gå med, D6 är den första avdelningen av Avdelning kolumn för att gå med.
- Värdena för dessa två celler är sammanlänkade med ett mellanslag däremellan.
- Välj den här resultatcellen och dra sedan Autofyllhandtag ner för att tillämpa denna formel på andra celler i samma kolumn.
Steg 2: Använd VLOOKUP-funktionen med de angivna kriterierna
Välj en cell där du vill mata ut resultatet (här väljer jag I7), skriv in följande formel i Formula bar, och tryck sedan på ange.
=VLOOKUP(I5& " "&I6,B6:F12,5,FALSE)
Resultat
- Hjälpkolumnen måste användas som den första kolumnen i dataintervallet.
- Nu är lönekolumnen den femte kolumnen i dataintervallet, så vi använder numret 5 som kolumnindex i formeln.
- Vi måste förena kriterierna I5 och I6 (I5& " "&I6) på samma sätt som hjälpkolumnen och använd det sammanlänkade värdet som letauppvärde argument i formeln.
- Du kan också sätta de två villkoren direkt i argumentet lookup_value och separera dem med ett mellanslag (om villkoren är text, glöm inte att omge dem med dubbla citattecken).
=VLOOKUP("Albee IT",B6:F12,5,FALSE)
- Ett bättre alternativ - slå upp med flera kriterier på några sekunder
Smakämnen Flera villkorsuppslag egenskap av Kutools för Excel kan hjälpa dig att enkelt söka med flera kriterier på några sekunder. Få en 30-dagars fullfjädrad gratis provperiod nu!
Vanliga VLOOKUP-fel och lösningar
Det här avsnittet listar de vanliga felen du kan stöta på när du använder VLOOKUP och tillhandahåller lösningar för att åtgärda dem.
#N/A fel returneras
Det vanligaste felet med VLOOKUP är #N/A-felet, vilket betyder att Excel inte kunde hitta värdet du letade efter. Här är några anledningar till varför VLOOKUP kan returnera #N/A-fel.
Orsak 1: Uppslagsvärdet finns inte i den första kolumnen i table_array
En av begränsningarna med Excel VLOOKUP är att det bara låter dig titta från vänster till höger. Så, uppslagsvärdena måste finnas i den första kolumnen i table_array.
Som visas i skärmdumpen nedan vill jag returnera ett namn baserat på den givna befattningen. Här är uppslagsvärdet (försäljningschef) finns i den andra kolumnen i table_array och returvärdet är till vänster om uppslagskolumnen, så VLOOKUP returnerar #N/A fel.
Lösningar
Du kan använda någon av följande lösningar för att åtgärda det här felet.
- Ordna om kolumnerna
Du kan ordna om kolumnerna för att placera uppslagskolumnen i den första kolumnen i table_array. - Använd funktionerna INDEX och MATCH tillsammans
Här använder vi funktionerna INDEX och MATCH tillsammans som ett alternativ till VLOOKUP för att lösa detta problem.=INDEX(B6:B12,MATCH(F6,C6:C12,0))
- Använd XLOOKUP-funktionen (tillgänglig i Excel 365, Excel 2021 och senare versioner)
=XLOOKUP(F6,C6:C12,B6:B12)
Orsak 2: Uppslagsvärdet hittades inte i uppslagskolumnen (exakt matchning)
En av de vanligaste anledningarna till att VLOOKUP returnerar #N/A fel är att värdet du letar efter inte hittas.
Som visas i exemplet nedan kommer vi att hitta namnet baserat på den givna poängen 98 i E6. Denna poäng finns dock inte i den första kolumnen i dataintervallet, så VLOOKUP returnerar #N/A felresultat.
Lösningar
För att åtgärda det här felet kan du prova någon av följande lösningar.
- Om du vill att VLOOKUP söker efter det näst största värdet som är mindre än uppslagsvärdet, ändra det sista argumentet FALSK (exakt matchning) till SANN (ungefärlig matchning). För mer information, se Exempel 1: Exakt matchning kontra ungefärlig matchning med VLOOKUP.
- För att undvika att ändra det sista argumentet och få en påminnelse om uppslagsvärdet inte hittas, kan du inkludera VLOOKUP-funktionen i IFERROR-funktionen:
=IFERROR(VLOOKUP(E8,$B$6:$C$12,2,FALSE),"Not found")
Orsak 3: Uppslagsvärdet är mindre än det minsta värdet i uppslagskolumnen (ungefärlig matchning)
Som visas i skärmdumpen nedan utför du en ungefärlig matchsökning. Värdet du letar efter (ID-numret 1001 i det här fallet) är mindre än det minsta värdet 1002 i uppslagskolumnen, därför returnerar VLOOKUP #N/A fel.
Lösningar
Här är två lösningar för dig.
- Se till att uppslagsvärdet är större än eller lika med det minsta värdet i uppslagskolumnen.
- Om du vill att Excel ska påminna dig om att uppslagsvärdet inte hittades, kapslar du bara VLOOKUP-funktionen i IFERROR-funktionen enligt följande:
=IFERROR(VLOOKUP(G6,B6:E12,4,TRUE),"Not found")
Orsak 4: Siffror är formaterade som text
Som du kan se i skärmdumpen nedan beror #N/A-felresultatet i detta exempel på en datatypsfel mellan uppslagscellen (G6) och uppslagskolumnen (B6:B12) i den ursprungliga tabellen. Här är värdet i G6 ett tal, och värdena i intervallet B6:B12 är tal formaterade som text.
Lösningar
För att lösa detta problem måste du konvertera uppslagsvärdet tillbaka till nummer. Här är två metoder för dig.
- Använd funktionen Konvertera till nummer
Klicka på cellen du vill konvertera texten till nummer, välj den här knappen bredvid cellen och välj sedan Konvertera till nummer. - Använd ett praktiskt verktyg för att batchkonvertera mellan text och nummer
Smakämnen Konvertera mellan text och nummer egenskap av Kutools för Excel hjälper dig att enkelt konvertera en rad celler från text till nummer och vice versa. Få en 30-dagars fullfjädrad gratis provperiod nu!
Orsak 5: table_array är inte konstant när du drar VLOOKUP-formeln till andra celler
Som visas i skärmdumpen nedan finns det två uppslagsvärden i E6 och E7. Efter att ha fått det första resultatet i F6, dra VLOOKUP-formeln från cell F6 till F7, ett #N/A-felresultat returnerades. Det beror på att cellreferenserna (B6:C12) är relativa som standard och justeras när du flyttar ner genom raderna. Tabellmatrisen har flyttats ner till B7:C13, som inte längre innehåller uppslagspoängen 73.
Lösning
Du måste låsa tabelluppsättningen för att hålla den konstant genom att lägga till en $ tecken före raderna och kolumnerna i cellreferenserna. För att veta mer om absolut referens i Excel, ta en titt på denna handledning: Excel absolut referens (hur man gör och använder).
#VALUE-fel returneras
Följande villkor kan göra att VLOOKUP returnerar #VALUE felresultat.
Orsak 1: Uppslagsvärdet överstiger 255 tecken
Som visas i skärmdumpen nedan överstiger uppslagsvärdet i cell H4 255 tecken, så VLOOKUP returnerar ett #VALUE-felresultat.
Lösningar
För att kringgå denna begränsning kan du använda en annan uppslagsfunktion som kan hantera längre strängar. Prova någon av följande formler.
- INDEX och MATCH:
=INDEX(E5:E11, MATCH(TRUE, INDEX(B5:B11=H4, 0), 0))
- XLOOKUP-funktion (tillgänglig i Excel 365, Excel 2021 och senare versioner):
=XLOOKUP(H4,B5:B11,E5:E11)
Orsak 2: Argumentet col_index är mindre än 1
Kolumnindexet anger kolumnnumret i tabellmatrisen som innehåller värdet du vill returnera. Detta argument måste vara ett positivt tal som motsvarar en giltig kolumn i tabellmatrisen.
Om du anger ett kolumnindex som är mindre än 1 (dvs. noll eller negativt), kommer VLOOKUP inte att kunna lokalisera kolumnen i tabellmatrisen.
Lösning
För att åtgärda problemet, se till att kolumnindexargumentet i din VLOOKUP-formel är ett positivt tal som motsvarar en giltig kolumn i tabellmatrisen.
#REF-fel returneras
Det här avsnittet listar en anledning till varför VLOOKUP returnerar #REF-fel och ger lösningar på detta problem.
Anledning: Argumentet col_index är större än antalet kolumner
Som du kan se i skärmdumpen nedan har tabelluppsättningen endast 4 kolumner. Kolumnindexet som du angav i VLOOKUP-formeln är dock 5, vilket är större än antalet kolumner i tabellmatrisen. Som ett resultat kommer VLOOKUP inte att kunna hitta kolumnen och kommer i slutändan att returnera ett #REF-fel.
Lösningar
- Ange ett korrekt kolumnnummer
Se till att kolumnindexargumentet i din VLOOKUP-formel är ett tal som motsvarar en giltig kolumn i tabellmatrisen.
- Hämta automatiskt kolumnnumret baserat på den angivna kolumnrubriken
Om tabellen innehåller många kolumner kan du ha problem med att bestämma rätt kolumnindexnummer. Här kan du kapsla MATCH-funktionen i VLOOKUP-funktionen för att hitta positionen för kolumnen baserat på en viss kolumnrubrik.
=VLOOKUP(G6,B6:E12,MATCH("Email",B5:E5,0),FALSE)
Anmärkningar: I formeln ovan är MATCH("E-post",B5:E5, 0) funktionen används för att få kolumnnumret för "E-postadress " kolumn i datumintervallet B6:E12. Här är resultatet 4, som används som kol_index i funktionen VLOOKUP.
Felaktigt värde returneras
Om du upptäcker att VLOOKUP inte returnerar det korrekta resultatet kan det bero på följande orsaker
Orsak 1: Uppslagskolumnen är inte sorterad i stigande ordning
Om du har satt det sista argumentet till SANN (eller lämnade den tom) för en ungefärlig matchning och uppslagskolumnen inte sorteras i stigande ordning, kan det resulterande värdet vara felaktigt.
Lösning
Sortera uppslagskolumnen i stigande ordning kan hjälpa dig att lösa det här problemet. För att göra detta, följ stegen nedan:
- Välj datacellerna i uppslagskolumnen, gå till Data fliken, klicka Sortera minsta till största i Sortera och filtrera grupp.
- I Sortera varning dialogrutan väljer du Utöka urvalet alternativet och klicka på OK.
Orsak 2: En kolumn infogas eller tas bort
Som visas i skärmdumpen nedan är värdet jag ursprungligen ville returnera i den fjärde kolumnen i tabellmatrisen, så jag anger col_index-numret som 4. När en ny kolumn infogas blir resultatkolumnen den femte kolumnen i tabellen array, vilket gör att VLOOKUP returnerar resultatet från en fel kolumn.
Lösningar
Här är två lösningar för dig.
- Du kan manuellt ändra kolumnindexnumret så att det matchar returkolumnens position. Formeln här bör ändras till:
=VLOOKUP(H6,B6:F12,5,FALSE)
- Om du alltid vill returnera resultatet från en certifierad kolumn, till exempel E-postkolumnen i det här exemplet. Följande formel kan hjälpa till att automatiskt matcha kolumnindex baserat på den givna kolumnrubriken, oavsett om kolumner infogas eller tas bort från tabellmatrisen.
=VLOOKUP(H6,B6:F12,MATCH("Email",B5:E5,0),FALSE)
Andra funktionsanteckningar
- VLOOKUP letar bara efter värde från vänster till höger.
Uppslagsvärdet finns i kolumnen längst till vänster och resultatvärdet bör finnas i valfri kolumn till höger om uppslagskolumnen. - Om du lämnar det sista argumentet tomt, använder VLOOKUP ungefärlig matchning som standard.
- VLOOKUP utför en skiftlägesokänslig sökning.
- För flera matchningar returnerar VLOOKUP endast den första matchningen den hittar i tabellmatrisen, baserat på ordningen på raderna i tabellmatrisen.
Relaterade artiklar
20+ VLOOKUP exempel för Excel nybörjare och avancerade användare
Denna handledning visar hur man använder Vlookup-funktionen i Excel med dussintals grundläggande och avancerade exempel steg för steg.
VLOOKUP från höger till vänster
Om du vill slå upp ett specifikt värde i någon annan kolumn och returnera det relativa värdet till vänster, kan metoderna i denna handledning hjälpa dig att utföra denna uppgift.
Vlookup från botten till toppen
Den här handledningen innehåller två metoder som hjälper dig att leta upp matchande värde från botten till toppen.
Gör en skiftlägeskänslig vlookup
Om du vill göra en skiftlägeskänslig VLOOKUP i Excel kan metoden i denna handledning göra dig en tjänst.
VLOOKUP fortsätt källformatering
Denna handledning tillhandahåller en metod som hjälper dig att behålla all formatering av den resulterande cellen när du gör Vlookup i Excel.
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
Innehållsförteckning
- Related Videos
- Steg-för-steg förklaring av argument
- Syntax och argument
- VLOOKUP Exempel
- Exakt matchning kontra ungefärlig matchning
- VLOOKUP med flera villkor
- Vanliga fel och lösningar
- #N/A fel
- #VALUE fel
- #REF-fel
- Felaktigt värde
- Andra funktionsanteckningar
- Relaterade artiklar
- De bästa Office-produktivitetsverktygen
- Kommentarer