Formula Excel: INDEX cu matrice variabilă -

Formula generică

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

rezumat

Pentru a configura o formulă INDEX și MATCH unde matricea furnizată la INDEX este variabilă, puteți utiliza funcția CHOOSE. În exemplul prezentat, formula din I5, copiată, este:

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

Cu Table1 și Table2, așa cum este indicat în captura de ecran.

Explicaţie

La bază, aceasta este o funcție normală INDEX și MATCH:

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

În cazul în care funcția MATCH este utilizată pentru a găsi rândul corect pentru a reveni din matrice, iar funcția INDEX returnează valoarea matricei respective.

Cu toate acestea, în acest caz, vrem să facem matricea variabilă, astfel încât intervalul dat la INDEX să poată fi modificat din mers. Facem acest lucru cu funcția ALEGE:

CHOOSE(H5,Table1,Table2)

Funcția CHOOSE returnează o valoare dintr-o listă utilizând o poziție sau un index dat. Valoarea poate fi o constantă, o referință de celulă, o matrice sau un interval. În exemplu, indexul numeric este furnizat în coloana H. Când numărul indexului este 1, vom folosi Tabelul 1. Când indexul este 2, alimentăm tabelul 2 către INDEX:

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

Notă: intervalele furnizate pentru ALEGE nu trebuie să fie tabele sau intervale denumite.

În I5, numărul din coloana H este 1, deci CHOOSE returnează Tabelul 1, iar formula se rezolvă la:

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

Funcția MATCH returnează poziția „A” în Tabelul 1, care este 1, iar INDEX returnează valoarea la rândul 1, coloana 2 din Tabelul 1, care este 20,00 USD

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

Articole interesante...