Formula Excel: INDICE con matrice variabile -

Sommario

Formula generica

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

Sommario

Per impostare una formula INDICE e CONFRONTA in cui la matrice fornita a INDICE è variabile, è possibile utilizzare la funzione SCEGLI. Nell'esempio mostrato, la formula in I5, copiata verso il basso, è:

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

Con Table1 e Table2 come indicato nello screenshot.

Spiegazione

Fondamentalmente, questa è una normale funzione INDICE e CONFRONTA:

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

Dove la funzione CONFRONTA viene utilizzata per trovare la riga corretta da restituire dall'array e la funzione INDICE restituisce il valore in quell'array.

Tuttavia, in questo caso vogliamo rendere variabile l'array, in modo che l'intervallo dato a INDICE possa essere modificato al volo. Lo facciamo con la funzione SCEGLI:

CHOOSE(H5,Table1,Table2)

La funzione SCEGLI restituisce un valore da un elenco utilizzando una data posizione o indice. Il valore può essere una costante, un riferimento di cella, una matrice o un intervallo. Nell'esempio, l'indice numerico è fornito nella colonna H. Quando il numero di indice è 1, utilizziamo Table1. Quando l'indice è 2, alimentiamo Table2 in INDEX:

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

Nota: gli intervalli forniti per SCEGLIERE non devono essere necessariamente tabelle o intervalli denominati.

In I5, il numero nella colonna H è 1, quindi SCEGLI restituisce Tabella1 e la formula si risolve in:

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

La funzione CONFRONTA restituisce la posizione "A" in Tabella1, che è 1, e INDICE restituisce il valore alla riga 1, colonna 2 di Tabella1, che è $ 20,00

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

Articoli interessanti...