
Generisk formel
=INDEX(data,MATCH(value,lookup_column,FALSE),column)
Resumé
Dette eksempel viser, hvordan man bruger INDEX og MATCH til at få oplysninger fra en tabel baseret på et nøjagtigt match. I det viste eksempel er formlen i celle H6:
=INDEX(B5:E9,MATCH(H4,B5:B9,FALSE),2)
der vender tilbage 1995, året hvor filmen Toy Story blev udgivet.
Forklaring
Denne formel bruger MATCH-funktionen til at få rækken af Toy Story i tabellen og INDEX-funktionen til at hente værdien på den række i kolonne 2. MATCH er konfigureret til at se efter værdien i H4 i kolonne B:
MATCH(H4,B5:B9,FALSE)
Bemærk, at det sidste argument er FALSE, hvilket tvinger MATCH til at udføre et nøjagtigt match.
MATCH finder "Toy Story" på række 4 og returnerer dette nummer til INDEX som række nummer. INDEX er konfigureret med en matrix, der inkluderer alle data i tabellen, og kolonnenummeret er hårdkodet som 2. Når MATCH returnerer 4, har vi:
=INDEX(B5:E9,4,2)
INDEX henter derefter værdien ved skæringspunktet mellem 4. række og 2. kolonne i arrayet, som er "1995".
De andre formler i eksemplet er de samme bortset fra kolonnetallet:
=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 enkelt kolonne
I eksemplet ovenfor modtager INDEX et array, der indeholder alle data i tabellen. Du kan dog nemt omskrive formlerne, så de kun fungerer med en kolonne, hvilket eliminerer behovet for at angive et kolonnenummer:
=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 begge tilfælde modtager INDEX et array med en søjle, der svarer til de data, der hentes, og MATCH leverer række nummeret.