
Generisk formel
=INDEX(data,MATCH(value,lookup_column,FALSE),column)
Sammanfattning
Det här exemplet visar hur man använder INDEX och MATCH för att få information från en tabell baserat på en exakt matchning. I exemplet som visas är formeln i cell H6:
=INDEX(B5:E9,MATCH(H4,B5:B9,FALSE),2)
som återvänder 1995, året då filmen Toy Story släpptes.
Förklaring
Den här formeln använder MATCH-funktionen för att få radpositionen för Toy Story i tabellen och INDEX-funktionen för att hämta värdet vid den raden i kolumn 2. MATCH är konfigurerad för att leta efter värdet i H4 i kolumn B:
MATCH(H4,B5:B9,FALSE)
Observera att det sista argumentet är FALSE, vilket tvingar MATCH att utföra en exakt matchning.
MATCH hittar "Toy Story" på rad 4 och returnerar detta nummer till INDEX som radnummer. INDEX är konfigurerad med en matris som innehåller alla data i tabellen och kolumnnumret är hårdkodat som 2. När MATCH returnerar 4 har vi:
=INDEX(B5:E9,4,2)
INDEX hämtar sedan värdet vid skärningspunkten mellan den fjärde raden och den andra kolumnen i matrisen, vilket är "1995".
De andra formlerna i exemplet är desamma förutom kolumnnumret:
=INDEX(B5:E9,MATCH(H4,B5:B9,FALSE),2) // year =INDEX(B5:E9,MATCH(H4,B5:B9,FALSE),3) // rank =INDEX(B5:E9,MATCH(H4,B5:B9,FALSE),4) // sales
INDEX med en enda kolumn
I exemplet ovan får INDEX en matris som innehåller all data i tabellen. Du kan dock enkelt skriva om formlerna så att de bara fungerar med en kolumn, vilket eliminerar behovet av att ange ett kolumnnummer:
=INDEX(C5:C9,MATCH(H4,B5:B9,FALSE)) // year =INDEX(D5:D9,MATCH(H4,B5:B9,FALSE)) // rank =INDEX(E5:E9,MATCH(H4,B5:B9,FALSE)) // sales
I båda fallen får INDEX en enda kolumnmatris som motsvarar den data som hämtas och MATCH tillhandahåller radnumret.