När du väljer mellan XLOOKUP och VLOOKUP gäller: använd XLOOKUP om alla som öppnar filen har Excel för Microsoft 365, Excel 2021 eller senare, eller Excel för webben. Den gör allt som VLOOKUP gör, med färre misstag: exakt matchning som standard, den kan söka åt vänster och den slutar inte fungera när du infogar en kolumn. Använd VLOOKUP bara när arbetsboken måste fungera i Excel 2019 eller äldre.
Kompatibilitet är den viktigaste invändningen. XLOOKUP finns inte i Excel 2016 eller 2019, så en fil full av XLOOKUP-formler visar #NAME?-fel för alla som fortfarande använder de versionerna.
Funktionerna kallas här vid sina engelska namn, eftersom det är så de flesta söker efter dem. I svensk Excel heter VLOOKUP LETARAD, HLOOKUP LETAKOLUMN och XLOOKUP XLETAUPP, och felet #NAME? visas som #NAMN?. Formlerna visas som i den engelska versionen av Excel: i svensk Excel skriver du semikolon (;) mellan argumenten i stället för kommatecken, och du hittar de översatta funktionsnamnen via Infoga funktion (fx).
| VLOOKUP | XLOOKUP | |
|---|---|---|
| Söka åt vänster (returnera en kolumn till vänster om sökkolumnen) | Nej | Ja |
| Standardtyp för matchning | Ungefärlig (om du inte lägger till FALSE) | Exakt |
| Klarar att kolumner infogas eller tas bort | Nej, kolumnnumret ligger fast | Ja, områdena justeras |
| Eget meddelande när inget hittas | Kräver IFNA eller IFERROR | Inbyggt (if_not_found) |
| Returnera flera kolumner samtidigt | Inte enkelt | Ja, resultaten spiller över |
| Söka från sista träffen och uppåt | Nej | Ja (search_mode -1) |
| Ungefärlig matchning | Data måste vara sorterade i stigande ordning | Nästa mindre eller större, ingen sortering behövs |
Jokertecken (*, ?) | Ja, med exakt matchning | Ja, med match_mode 2 |
| Horisontella sökningar | Nej, det är HLOOKUP | Ja, samma funktion |
| Hastighet | Ingen praktisk skillnad i vanliga arbetsböcker | Samma, plus valfri binärsökning i sorterade data |
| Finns i | Alla versioner av Excel | Microsoft 365, Excel 2021, Excel 2024, Excel för webben, mobilappar |
Syntaxen sida vid sida
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
Den stora skillnaden är hur du talar om för Excel var svaret finns. VLOOKUP tar en hel tabell och ett kolumnnummer räknat från tabellens vänstra kant. XLOOKUP tar två separata områden: kolumnen att söka i och kolumnen att returnera från.
Samma sökning skriven på båda sätten
Här är en liten produktlista i A1:D6, med ett produkt-ID inskrivet i G2:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Produkt-ID | Produkt | Kategori | Pris |
| 2 | P-101 | Trådlös mus | Tillbehör | $24.99 |
| 3 | P-102 | USB-C-hubb | Tillbehör | $39.50 |
| 4 | P-103 | Laptopställ | Kontor | $45.00 |
| 5 | P-104 | Webbkamera HD | Video | $59.00 |
| 6 | P-105 | Skrivbordslampa | Kontor | $32.75 |
Så här hittar du priset för P-104:
=VLOOKUP(G2, A2:D6, 4, FALSE)
=XLOOKUP(G2, A2:A6, D2:D6)
Båda returnerar $59.00. VLOOKUP söker i första kolumnen i A2:D6 och returnerar den fjärde kolumnen, och FALSE tvingar fram exakt matchning. XLOOKUP söker i A2:A6 och returnerar den matchande cellen från D2:D6, med exakt matchning som standard.

Om du ska kopiera formeln nedåt i en kolumn låser du tabellen med absoluta referenser, till exempel =XLOOKUP(G2, $A$2:$A$6, $D$2:$D$6). Tryck på F4 i Windows eller Cmd+T på Mac medan markören står i en referens för att lägga till $-tecknen.
VLOOKUPs två klassiska fallgropar
1. Att glömma FALSE (eller 0)
Det sista VLOOKUP-argumentet är valfritt, och när du utelämnar det använder Excel ungefärlig matchning. Vid ungefärlig matchning förutsätter VLOOKUP att första kolumnen är sorterad och returnerar det närmaste värdet som är mindre än eller lika med det du sökte efter, utan någon varning.
Prova =VLOOKUP("P-110", A2:D6, 4) på tabellen ovan. P-110 finns inte, men i stället för #N/A får du $32.75, priset för P-105, eftersom "P-105" är det närmaste mindre värdet. På osorterade data kan resultaten bli ännu mer slumpmässiga.
Avsluta alltid en VLOOKUP med exakt matchning med FALSE eller 0. XLOOKUP undviker problemet eftersom den använder exakt matchning om du inte ber om något annat.
2. Det hårdkodade kolumnnumret
4 i VLOOKUP-formeln är bara ett tal. Om någon infogar en kolumn Leverantör mellan Produkt och Kategori blir tabellen A:E, Pris flyttas till kolumn E och formeln returnerar fortfarande den fjärde kolumnen, som nu är Kategori. Du skulle se "Video" i stället för $59.00.
XLOOKUP pekar på själva priskolumnen (D2:D6), så Excel uppdaterar den automatiskt till E2:E6 och svaret förblir rätt.
Vad XLOOKUP kan som VLOOKUP inte kan
Söka åt vänster
VLOOKUP kan bara returnera kolumner till höger om sökkolumnen. XLOOKUP bryr sig inte om riktningen. Så här hittar du produkt-ID för ett produktnamn i G2:
=XLOOKUP(G2, B2:B6, A2:A6)
Med "Skrivbordslampa" i G2 returnerar den här formeln P-105, trots att kolumn A ligger till vänster om kolumn B.

Visa ett tydligt meddelande när inget hittas
=XLOOKUP(G2, A2:A6, D2:D6, "Hittades inte")
Motsvarigheten med VLOOKUP kräver ett omslag: =IFNA(VLOOKUP(G2, A2:D6, 4, FALSE), "Hittades inte").
Returnera flera kolumner i en formel
=XLOOKUP(G2, A2:A6, B2:D6)
För P-104 spiller den här formeln Webbkamera HD, Video och $59.00 över tre celler bredvid varandra. Låt de cellerna vara tomma, annars får du ett #SPILL!-fel.
Hitta den sista träffen i stället för den första
I en logg där samma kund förekommer många gånger ställer du in search_mode på -1 för att söka nedifrån och upp och få den senaste posten:
=XLOOKUP(G2, A2:A500, C2:C500, "Hittades inte", 0, -1)
Ungefärlig matchning utan sortering
För prisnivåer eller provisionssatser fungerar VLOOKUPs ungefärliga matchning bara om första kolumnen är sorterad i stigande ordning. XLOOKUPs match_mode -1 (exakt matchning eller nästa mindre post) och 1 (exakt matchning eller nästa större post) kräver inte sorterade data. Med lägsta orderbelopp i J2:J5 och rabatter i K2:K5:
=VLOOKUP(B2, J2:K5, 2, TRUE)
=XLOOKUP(B2, J2:J5, K2:K5, , -1)
Jokertecken
Båda stöder * och ?, men XLOOKUP behöver match_mode 2 för att behandla dem som jokertecken:
=VLOOKUP("Skrivbord*", B2:D6, 3, FALSE)
=XLOOKUP("Skrivbord*", B2:B6, D2:D6, , 2)
Båda returnerar $32.75 för Skrivbordslampa.
INDEX/MATCH: det klassiska alternativet
Före XLOOKUP var standardlösningen på VLOOKUPs begränsningar INDEX tillsammans med MATCH (på svenska INDEX och PASSA). Den söker åt vänster, klarar infogade kolumner och fungerar i alla versioner av Excel, vilket gör den till det bästa valet för filer som måste kunna öppnas i Excel 2019 eller äldre:
=INDEX(D2:D6, MATCH(G2, A2:A6, 0))
=INDEX(A2:A6, MATCH(G2, B2:B6, 0))
Den första returnerar priset för ID:t i G2, och den andra är exemplet med sökning åt vänster. 0 i MATCH betyder exakt matchning och är, precis som VLOOKUPs FALSE, lätt att glömma. XLOOKUP är helt enkelt den kortare, säkrare versionen av samma idé.
Så konverterar du VLOOKUP-formler till XLOOKUP
Det finns ingen inbyggd konverterare, men översättningen är mekanisk:
- Hitta dina VLOOKUP-formler: tryck på
Ctrl+F(Cmd+Fpå Mac), skriv VLOOKUP (eller LETARAD i svensk Excel), klicka på Alternativ om de extra inställningarna är dolda, ställ in Sök i på Formler och klicka på Sök alla. - Behåll det första argumentet (sökvärdet) som det är.
- Ersätt tabellen med dess första kolumn som
lookup_array. - Ersätt kolumnnumret med den matchande kolumnen som
return_array. Kolumn 5 i en tabell som börjar i kolumn A är kolumn E. - Ta bort
FALSE. Om originalet slutade medTRUEeller saknade sista argument lägger du tillmatch_mode-1 för att behålla beteendet "nästa mindre".
Till exempel:
=VLOOKUP(A2, Products!$A$2:$F$500, 5, FALSE)
=XLOOKUP(A2, Products!$A$2:$A$500, Products!$E$2:$E$500)
Testa några resultat mot den gamla formeln innan du konverterar ett helt blad. VLOOKUP med ungefärlig matchning på osorterade data kan ha returnerat fel värden hela tiden, så XLOOKUPs svar kan med rätta skilja sig åt.
Vad som händer när en XLOOKUP-fil öppnas i Excel 2016 eller 2019
Arbetsboken öppnas, men de versionerna känner inte till funktionen. I formelfältet visas den som =_xlfn.XLOOKUP(...). Cellerna kan till en början fortfarande visa de senast sparade resultaten, men så fort formeln beräknas om returnerar den #NAME?.
Om du delar filer med personer som har äldre versioner:
- Använd INDEX/MATCH eller VLOOKUP i stället, eller
- skicka en kopia där resultaten har klistrats in som värden (Kopiera → Klistra in special → Värden).
Detsamma gäller andra nyare funktioner som FILTER, UNIQUE och XMATCH.
XLOOKUP i Google Sheets
Google Sheets har också XLOOKUP, med samma argumentordning: =XLOOKUP(search_key, lookup_range, result_range, [missing_value], [match_mode], [search_mode]). Formlerna i det här inlägget fungerar där som de står, så XLOOKUP är ett säkert val för filer som flyttas mellan Excel och Sheets.
Därför returnerar din sökning #N/A eller fel värde
- Extra mellanslag. "P-104 " med ett avslutande mellanslag matchar inte "P-104". Rensa data med
TRIM. - Tal som lagrats som text. Ett ID som skrivits som text matchar inte samma ID lagrat som tal. Leta efter den gröna triangeln i cellens hörn och konvertera kolumnen till en och samma typ.
- FALSE saknas i VLOOKUP. Du får ett rimligt men felaktigt svar i stället för
#N/A. - Områden som flyttades när du kopierade formeln. Använd absoluta
$-referenser för sökningstabellen. #REF!från VLOOKUP. Kolumnnumret är större än antalet kolumner i tabellen.#VALUE!från XLOOKUP. Sök- och returområdena har olika storlek, till exempel A2:A6 och D2:D60.#NAME?Funktionsnamnet är felstavat, eller så är filen öppen i en version utan XLOOKUP.
Vanliga frågor
Är XLOOKUP bättre än VLOOKUP? Ja, för nästan alla användningsområden. Den har exakt matchning som standard, söker i valfri riktning, slutar inte fungera när kolumner flyttas och hanterar saknade värden utan omslag. VLOOKUPs enda verkliga fördel är att den fungerar i alla versioner av Excel.
Är XLOOKUP snabbare än VLOOKUP? I vanliga arbetsböcker märker du ingen skillnad. På mycket stora sorterade listor kan XLOOKUPs binärsökningslägen (search_mode 2 eller -2) ge högre hastighet, men de returnerar felaktiga resultat om data inte är sorterade.
Varför visar XLOOKUP #NAME? på min dator? Din Excel-version innehåller inte XLOOKUP. Den finns i Microsoft 365, Excel 2021 och senare samt Excel för webben, men inte i Excel 2019 eller 2016. Använd INDEX/MATCH i stället.
Ersätter XLOOKUP även HLOOKUP? Ja. Om sök- och returområdena är rader i stället för kolumner söker XLOOKUP horisontellt med samma syntax.
Kan XLOOKUP returnera alla träffar, inte bara den första? Nej, den returnerar en träff (eller en rad med kolumner). För att få varje matchande rad använder du FILTER, till exempel =FILTER(A2:D6, C2:C6="Kontor").
Ska jag fortfarande lära mig VLOOKUP? Det är värt att känna igen den, eftersom du hittar den i äldre arbetsböcker och mallar. För nya formler lär du dig XLOOKUP, och håller INDEX/MATCH i bakhuvudet för filer som måste kunna öppnas i äldre Excel.
Låt AI skriva sökningen åt dig
Sökformler är det ställe där små detaljer, som ett saknat FALSE eller ett förskjutet område, orsakar flest tysta fel. Med CoreGPT for Excel beskriver du vad du behöver, till exempel "hitta priset för produkt-ID:t i G2" eller "markera varje rad som över eller under målet", och formeln skrivs in i ditt blad med en kort förklaring. Det är gratis att komma igång och fungerar i Excel för Windows, Mac och webben.
Använd den här formeln och fyll ner den:
=IF(C2>=D2,"Över","Under")Testa själv: CoreGPT for Excel
Relaterad läsning:



