Excel-formel: INDEX med variabel matrix -

Indholdsfortegnelse

Generisk formel

=INDEX(CHOOSE(number,array1,array2),MATCH(value,range,0))

Resumé

For at oprette en INDEX- og MATCH-formel, hvor arrayet, der leveres til INDEX, er variabelt, kan du bruge VÆLG-funktionen. I det viste eksempel er formlen i I5, kopieret ned,:

=INDEX(CHOOSE(H5,Table1,Table2),MATCH(G5,Table1(Model),0),2)

Med tabel1 og tabel2 som angivet på skærmbilledet.

Forklaring

I kernen er dette en normal INDEX- og MATCH-funktion:

=INDEX(array,MATCH(value,range,0))

Hvor MATCH-funktionen bruges til at finde den rigtige række, der skal returneres fra array, og INDEX-funktionen returnerer værdien i det array.

I dette tilfælde ønsker vi dog at gøre arrayet variabelt, så det område, der gives til INDEX, kan ændres i farten. Vi gør dette med VÆLG-funktionen:

CHOOSE(H5,Table1,Table2)

VÆLG-funktionen returnerer en værdi fra en liste ved hjælp af en given position eller et indeks. Værdien kan være en konstant, en cellehenvisning, en matrix eller et interval. I eksemplet er det numeriske indeks angivet i kolonne H. Når indeksnummeret er 1, bruger vi tabel 1. Når indekset er 2, føder vi tabel2 til INDEX:

CHOOSE(1,Table1,Table2) // returns Table1 CHOOSE(2,Table1,Table2) // returns Table2

Bemærk: de områder, der er angivet til VÆLG, behøver ikke at være tabeller eller navngivne områder.

I I5 er tallet i kolonne H 1, så VÆLG returnerer tabel 1, og formlen løser:

=INDEX(Table1,MATCH("A",Table1(Model),0),2)

MATCH-funktionen returnerer positionen for "A" i tabel1, som er 1, og INDEX returnerer værdien i række 1, kolonne 2 i tabel1, som er $ 20,00

=INDEX(Table1,1,2) // returns $20.00

Interessante artikler...