„Excel“ formulė: INDEX su kintamu masyvu -

Bendroji formulė

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

Santrauka

Norėdami nustatyti „INDEX“ ir „MATCH“ formules, kuriose INDEX pateiktas masyvas yra kintamas, galite naudoti funkciją CHOOSE. Parodytame pavyzdyje I5 formulė, nukopijuota žemiau, yra:

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

Su 1 lentele ir 2 lentele, kaip nurodyta ekrano kopijoje.

Paaiškinimas

Iš esmės tai yra įprasta INDEX ir MATCH funkcija:

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

Kai funkcija MATCH naudojama norint rasti teisingą eilę, kad būtų galima grįžti iš masyvo, o funkcija INDEX grąžina to masyvo vertę.

Tačiau šiuo atveju mes norime padaryti masyvą kintamuoju, kad INDEX suteiktą diapazoną būtų galima keisti skrendant. Tai darome naudodami funkciją PASIRINKTI:

CHOOSE(H5,Table1,Table2)

Funkcija PASIRINKTI grąžina vertę iš sąrašo, naudodama nurodytą poziciją ar indeksą. Vertė gali būti konstanta, langelio nuoroda, masyvas arba diapazonas. Pavyzdyje skaitinis indeksas pateikiamas H stulpelyje. Kai indekso numeris yra 1, mes naudojame 1 lentelę. Kai indeksas yra 2, 2 lentelę tiekiame į INDEX:

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

Pastaba: CHOOSE pateikti diapazonai nebūtinai turi būti lentelės arba pavadinti diapazonai.

I5 skaičius H stulpelyje yra 1, todėl CHOOSE grąžina 1 lentelę, o formulė išskaidoma į:

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

Funkcija MATCH grąžina „A“ padėtį 1 lentelėje, kuri yra 1, o INDEX grąžina 1 lentelės 2 stulpelio 1 eilutės vertę, kuri yra 20,00 USD

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

Įdomios straipsniai...