
Splošna formula
=INDEX(CHOOSE(number,array1,array2),MATCH(value,range,0))
Povzetek
Če želite nastaviti formulo INDEX in MATCH, kjer je matrika, ki je na voljo INDEX, spremenljiva, lahko uporabite funkcijo CHOOSE. V prikazanem primeru je formula v I5, kopirana navzdol,:
=INDEX(CHOOSE(H5,Table1,Table2),MATCH(G5,Table1(Model),0),2)
S Tabela1 in Tabelo2, kot je prikazano na posnetku zaslona.
Pojasnilo
V bistvu je to običajna funkcija INDEX in MATCH:
=INDEX(array,MATCH(value,range,0))
Kjer se funkcija MATCH uporablja za iskanje pravilne vrstice, ki jo je treba vrniti iz polja, in funkcija INDEX vrne vrednost v tej matriki.
Vendar v tem primeru želimo spremeniti matriko, tako da lahko obseg, dan indeksu, spremenimo sproti. To naredimo s funkcijo IZBERI:
CHOOSE(H5,Table1,Table2)
Funkcija CHOOSE vrne vrednost s seznama z uporabo določenega položaja ali indeksa. Vrednost je lahko konstanta, referenca celice, matrika ali obseg. V primeru je številčni indeks naveden v stolpcu H. Ko je številka indeksa 1, uporabimo tabelo1. Ko je indeks 2, tabelo 2 pošljemo v INDEX:
CHOOSE(1,Table1,Table2) // returns Table1 CHOOSE(2,Table1,Table2) // returns Table2
Opomba: obsegi, ki so na voljo za IZBERI, niso nujno tabele ali imenovani obsegi.
V I5 je število v stolpcu H 1, zato CHOOSE vrne tabelo1 in formula se razreši na:
=INDEX(Table1,MATCH("A",Table1(Model),0),2)
Funkcija MATCH vrne položaj "A" v tabeli1, ki je 1, in INDEX vrne vrednost v vrstici 1, stolpec 2 tabele1, kar je 20,00 USD
=INDEX(Table1,1,2) // returns $20.00