Excel-hjälp

INDEX och MATCH: Sökkombinationen som fungerar i alla Excel

Två små funktioner som samarbetar för att hitta ett värde i en lista. Lär dig hur de fungerar och när du ska välja dem framför XLOOKUP.

Cirka 9 minuters läsning

Två funktioner, ett jobb

Tänk dig att du ber en bibliotekarie om en bok. Bibliotekarien gör två saker. Först tittar hon i katalogen och säger: "Den står på hylla nummer 3." Sedan går hon till hyllan och hämtar boken.

INDEX och MATCH fungerar på samma sätt, och de används alltid som ett par:

  • MATCH är katalogen. Den talar om var något finns i en lista ("det är den 3:e posten").
  • INDEX är bibliotekarien som går till hyllan. Den ger dig posten på en position som du väljer ("ge mig den 3:e posten").
I en mening: MATCH hittar positionen för det du letar efter, och INDEX använder positionen för att hämta svaret från en annan kolumn.

Tillsammans gör de samma jobb som XLOOKUP: hittar något i en kolumn och hämtar motsvarande värde från en annan. INDEX och MATCH har bara funnits mycket längre, så du hittar dem i otaliga kalkylblad, och de fungerar i alla versioner av Excel.

Bra att veta: I svensk Excel heter funktionerna INDEX och PASSA (MATCH). XLOOKUP heter XLETAUPP och IFERROR heter OMFEL. I den här artikeln använder vi de engelska namnen i texten, men i formlerna skriver du de namn som din Excel använder.

Har jag nytta av INDEX och MATCH?

Förmodligen, om du ibland behöver:

  • Slå upp ett pris, ett namn eller ett telefonnummer i en lista
  • Göra det i en äldre version av Excel utan XLOOKUP
  • Dela en arbetsbok med kollegor som kan ha en äldre Excel
  • Förstå eller rätta ett kalkylblad som någon annan har gjort

Den sista punkten betyder mer än du kanske tror. Många befintliga kalkylblad använder INDEX och MATCH, så det är en mycket bra formel att kunna läsa.

Se hur det fungerar

Vi använder samma lilla prislista som i vår XLOOKUP-artikel. Kolumn A innehåller produkterna och kolumn B priserna.

A B D E
1 Produkt Pris Sök efter Pris
2 Anteckningsbok 4,50 Skrivbordslampa 24,90
3 Pennset 7,20
4 Skrivbordslampa 24,90
5 Häftapparat 9,00

I cell E2 skriver vi en formel. Excel letar efter "Skrivbordslampa" (orange) i kolumn A, hittar den (blå) och hämtar priset från kolumn B (grön). Det sker i två små steg.

Det du söker efter Var det hittades Det som hämtas

Steg 1: MATCH hittar positionen

MATCH letar efter ditt ord i en kolumn och talar om vilken position det står på: 1:a, 2:a, 3:e och så vidare.

=PASSA( D2; A2:A5; 0 )

Det betyder: "Hitta ordet i D2 inom A2:A5 och tala om dess position." I vår lista är "Skrivbordslampa" den 3:e posten, så svaret är 3.

Vad är nollan till för? Den betyder "hitta en exakt matchning". Ta alltid med den. Om du utelämnar den kan Excel i tysthet gissa och ge dig fel svar.

Steg 2: INDEX hämtar värdet

INDEX tar en kolumn och en position och ger dig det som finns på den positionen.

=INDEX( B2:B5; 3 )

Det betyder: "Ge mig den 3:e posten i priskolumnen B2:B5." Det 3:e priset är 24,90.

Lägg märke till att INDEX inte söker efter något. Den räknar bara nedåt i kolumnen. Därför behöver den MATCH för att få veta positionen.

Nu sätter vi ihop dem

I stället för att skriva siffran 3 själva låter vi MATCH leverera den. Vi placerar MATCH-formeln där 3:an stod:

=INDEX( B2:B5; PASSA( D2; A2:A5; 0 ) )

1

Vad ska jag hämta?

B2:B5 är kolumnen med priserna. Det är INDEX-delen.

2

Vad letar jag efter?

D2 är cellen där du skrev "Skrivbordslampa".

3

Var ska Excel leta?

A2:A5 är kolumnen med produktnamnen. 0 på slutet betyder exakt matchning.

Excel arbetar inifrån och ut: MATCH hittar 3 och sedan väljer INDEX det 3:e priset. Ändra D2 till "Häftapparat" så ändras priset till 9,00 av sig självt.

Bra att veta: kolumnen du vill hämta från står först, och kolumnen du söker i står inuti MATCH. Det känns bakvänt i början, men du vänjer dig.

Semikolon eller komma? Det beror på var du bor

Om en formel från internet ger fel trots att den ser perfekt ut, är ofta skiljetecknet orsaken.

Stil Skiljetecken Typiska regioner Exempel
Europeisk Semikolon ; Sverige, Finland, Tyskland, Frankrike, Spanien =INDEX(B2:B5; PASSA(D2; A2:A5; 0))
Amerikansk Komma , USA, Storbritannien, Kanada, Australien =INDEX(B2:B5, MATCH(D2, A2:A5, 0))

Formeln gör samma sak i båda stilarna. I många europeiska länder är kommatecknet decimaltecken (2,5 i stället för 2.5), så Excel använder semikolon mellan delarna. Om du får ett fel, byt varje komma mot ett semikolon, eller tvärtom. Tänk också på att internetexempel oftast har engelska funktionsnamn som MATCH, medan svensk Excel kräver PASSA. Exemplen i den här artikeln använder semikolon.

Så använder du det själv

  1. Klicka på den tomma cell där du vill ha svaret.
  2. Skriv =INDEX( och markera kolumnen med de svar du vill hämta. Skriv ett semikolon.
  3. Skriv PASSA(, klicka på cellen med det du söker efter och skriv ett semikolon.
  4. Markera kolumnen du vill söka i, skriv ett semikolon och sedan 0.
  5. Stäng båda parenteserna )) och tryck på Enter.
Tips: Om det känns som för mycket på en gång kan du bygga formeln i två steg. Skriv först PASSA-formeln i en ledig cell och kontrollera att den ger ett rimligt tal. Lägg sedan INDEX runt den.

Tänk om varan inte finns i listan?

Om du söker efter "Miniräknare" och den inte finns i listan visar Excel #SAKNAS!. Om du vill visa ett vänligt meddelande i stället lägger du hela formeln inuti OMFEL (IFERROR):

=OMFEL(INDEX(B2:B5; PASSA(D2; A2:A5; 0)); "Hittades inte")

OMFEL betyder "försök detta, och om det blir ett fel, visa detta i stället". Nu ser du Hittades inte i stället för ett fel.

INDEX och MATCH jämfört med XLOOKUP

Båda gör samma jobb, så vilken bör du använda? Så här jämförs de:

INDEX och MATCH XLOOKUP
Hur den skrivs Två funktioner, den ena inuti den andra En funktion med tre delar
Lätt för nybörjare Svårare, du måste förstå två steg Lättare att läsa och skriva
Exakt matchning Du måste själv lägga till 0 Exakt matchning är standard
Varan hittas inte Behöver OMFEL runt sig Har ett inbyggt "hittades inte"-meddelande
Titta åt vänster Fungerar Fungerar
Lägga till en kolumn senare Fortsätter att fungera korrekt Fortsätter att fungera korrekt
Excel-versioner Alla versioner Microsoft 365 och Excel 2021 eller nyare
Äldre kalkylblad Mycket vanlig, bra att kunna Nyare, finns i nyare filer

Så vilken ska jag använda?

  • Använd XLOOKUP om du har den och är den enda som använder filen. Den är enklare och svårare att göra fel med. Läs vår XLOOKUP-artikel för att lära dig den.
  • Använd INDEX och MATCH om du delar filen med personer som kan ha en äldre Excel, eller om du behöver förstå ett kalkylblad som redan använder den.

Om du är osäker kan du kontrollera om din Excel har XLOOKUP genom att skriva =XLETAUPP( i en cell. Om Excel föreslår funktionen har du den.

Avancerat

Slå upp över rader och kolumner

Hittills letade vi åt ett håll: nedåt i en kolumn. Men ibland finns svaret där en rad och en kolumn korsas, till exempel i en tabell med produkter nedåt och månader längs överkanten. INDEX och MATCH är utmärkt på det här, eftersom INDEX kan ta både en rad och en kolumn.

A B C D
1 Produkt Jan Feb Mar
2 Anteckningsbok 120 135 150
3 Pennset 80 95 90
4 Skrivbordslampa 30 25 40
5 Häftapparat 60 70 55

Hur många pennset sålde vi i februari? Vi behöver skärningspunkten mellan raden "Pennset" (blå) och kolumnen "Feb" (blå). Svaret är 95 (grön).

=INDEX( B2:D5; PASSA("Pennset"; A2:A5; 0); PASSA("Feb"; B1:D1; 0) )

Läs den i tre delar:

  • B2:D5 är hela blocket med tal.
  • Den första PASSA hittar vilken rad "Pennset" står på: den 2:a.
  • Den andra PASSA hittar vilken kolumn "Feb" står i: den 2:a.

INDEX ger dig sedan talet på rad 2 och kolumn 2 i blocket: 95. I praktiken skulle du ersätta orden "Pennset" och "Feb" med celler, så att du kan ändra frågan utan att röra formeln.

Vanliga problem och hur du löser dem

Du ser #SAKNAS!

MATCH hittade inte det du sökte efter. Kontrollera stavningen och leta efter extra mellanslag i början eller slutet av texten. "Skrivbordslampa " (med ett mellanslag) är inte samma sak som "Skrivbordslampa". Eller använd OMFEL, som visades ovan.

Du får fel svar, utan något felmeddelande

Du har förmodligen utelämnat 0 i slutet av PASSA. Utan den antar Excel att din lista är sorterad och gissar, vilket ger fel svar i en lista som inte är sorterad. Avsluta alltid PASSA med ; 0).

Du får svaret från fel rad

Området du hämtar från och området du söker i måste börja på samma rad. Om INDEX använder B2:B5 men PASSA använder A3:A6 blir varje svar förskjutet en rad.

Excel säger att det är något fel på formeln

Kontrollera skiljetecknen. Om din Excel har europeiska inställningar ska du använda semikolon (;) i stället för kommatecken (,), som förklarades ovan. Räkna också parenteserna: den här formeln behöver två avslutande parenteser på slutet.

Du ser #REF!

INDEX fick en position utanför området, till exempel den 6:e posten i en lista med 4. Kontrollera att områdena har rätt storlek.

Talen ser rätt ut men inget matchar

Ibland är ett tal sparat som text, så att "1001" och 1001 ser likadana ut men Excel behandlar dem som olika. Om cellen har en liten grön triangel eller talet är vänsterjusterat, konvertera det till ett riktigt tal.

Kortversionen

  • MATCH hittar positionen för något i en lista. INDEX hämtar posten på en position. Tillsammans slår de upp värden.
  • Formeln är =INDEX(hämta detta; PASSA(hitta detta; här; 0)).
  • Avsluta alltid PASSA med 0 för exakt matchning.
  • XLOOKUP är enklare. INDEX och MATCH fungerar i alla versioner av Excel och finns överallt i äldre filer.
  • Lägg OMFEL runt formeln för ett vänligt "Hittades inte"-meddelande.
  • Använd semikolon i europeisk Excel och kommatecken i amerikansk Excel.