Excel-Formel: INDEX mit variablem Array -

Generische Formel

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

Zusammenfassung

Um eine INDEX- und MATCH-Formel einzurichten, bei der das für INDEX bereitgestellte Array variabel ist, können Sie die CHOOSE-Funktion verwenden. In dem gezeigten Beispiel lautet die kopierte Formel in I5:

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

Mit Tabelle1 und Tabelle2 wie im Screenshot angegeben.

Erläuterung

Im Kern ist dies eine normale INDEX- und MATCH-Funktion:

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

Wobei die MATCH-Funktion verwendet wird, um die richtige Zeile zu finden, die vom Array zurückgegeben werden soll, und die INDEX-Funktion den Wert an diesem Array zurückgibt.

In diesem Fall möchten wir das Array jedoch variabel machen, damit der INDEX gegebene Bereich im laufenden Betrieb geändert werden kann. Wir machen das mit der CHOOSE-Funktion:

CHOOSE(H5,Table1,Table2)

Die CHOOSE-Funktion gibt einen Wert aus einer Liste unter Verwendung einer bestimmten Position oder eines bestimmten Index zurück. Der Wert kann eine Konstante, eine Zellreferenz, ein Array oder ein Bereich sein. In diesem Beispiel wird der numerische Index in Spalte H angegeben. Wenn die Indexnummer 1 ist, verwenden wir Tabelle 1. Wenn der Index 2 ist, geben wir Tabelle 2 an INDEX weiter:

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

Hinweis: Die für CHOOSE bereitgestellten Bereiche müssen keine Tabellen oder benannten Bereiche sein.

In I5 ist die Zahl in Spalte H 1, daher gibt CHOOSE Tabelle 1 zurück und die Formel wird wie folgt aufgelöst:

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

Die MATCH-Funktion gibt die Position von "A" in Tabelle 1 zurück, die 1 ist, und INDEX gibt den Wert in Zeile 1, Spalte 2 von Tabelle 1 zurück, der 20,00 USD beträgt

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

Interessante Beiträge...