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.
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").
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.
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.
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 ) )
Vad ska jag hämta?
B2:B5 är kolumnen med priserna. Det är INDEX-delen.
Vad letar jag efter?
D2 är cellen där du skrev "Skrivbordslampa".
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.
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
- Klicka på den tomma cell där du vill ha svaret.
- Skriv =INDEX( och markera kolumnen med de svar du vill hämta. Skriv ett semikolon.
- Skriv PASSA(, klicka på cellen med det du söker efter och skriv ett semikolon.
- Markera kolumnen du vill söka i, skriv ett semikolon och sedan 0.
- Stäng båda parenteserna )) och tryck på Enter.
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.
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.