
Generisk formel
=INDEX(CHOOSE(number,array1,array2),MATCH(value,range,0))
Sammendrag
For å sette opp en INDEX- og MATCH-formel der matrisen som er gitt til INDEX er variabel, kan du bruke VELG-funksjonen. I eksemplet vist er formelen i I5, kopiert ned,:
=INDEX(CHOOSE(H5,Table1,Table2),MATCH(G5,Table1(Model),0),2)
Med Table1 og Table2 som angitt på skjermbildet.
Forklaring
I kjernen er dette en normal INDEX- og MATCH-funksjon:
=INDEX(array,MATCH(value,range,0))
Der MATCH-funksjonen brukes til å finne riktig rad som skal returneres fra matrisen, og INDEX-funksjonen returnerer verdien til den matrisen.
Imidlertid vil vi i dette tilfellet gjøre matrisen variabel, slik at området som gis til INDEX kan endres på farten. Vi gjør dette med VELG-funksjonen:
CHOOSE(H5,Table1,Table2)
VELG-funksjonen returnerer en verdi fra en liste ved hjelp av en gitt posisjon eller indeks. Verdien kan være en konstant, en cellehenvisning, en matrise eller et område. I eksemplet er den numeriske indeksen gitt i kolonne H. Når indeksnummeret er 1, bruker vi tabell1. Når indeksen er 2, mater vi Table2 til INDEX:
CHOOSE(1,Table1,Table2) // returns Table1 CHOOSE(2,Table1,Table2) // returns Table2
Merk: områdene gitt til VELG trenger ikke å være tabeller eller navngitte områder.
I I5 er tallet i kolonne H 1, så VELG returnerer tabell1, og formelen løser seg til:
=INDEX(Table1,MATCH("A",Table1(Model),0),2)
MATCH-funksjonen returnerer posisjonen til "A" i Tabell1, som er 1, og INDEKS returnerer verdien i rad 1, kolonne 2 i Tabell1, som er $ 20,00
=INDEX(Table1,1,2) // returns $20.00