
Yleinen kaava
=INDEX(CHOOSE(number,array1,array2),MATCH(value,range,0))
Yhteenveto
Jos haluat määrittää INDEX- ja MATCH-kaavan, jossa INDEX: lle toimitettu taulukko on muuttuva, voit käyttää CHOOSE-toimintoa. Esitetyssä esimerkissä kaavan I5 alla kopioituna on:
=INDEX(CHOOSE(H5,Table1,Table2),MATCH(G5,Table1(Model),0),2)
Taulukoilla 1 ja Taulukko 2 kuvatulla tavalla.
Selitys
Ytimessä tämä on normaali INDEX- ja MATCH-toiminto:
=INDEX(array,MATCH(value,range,0))
Jos MATCH-funktiota käytetään oikean rivin löytämiseen taulukosta palataksesi, ja INDEX-funktio palauttaa kyseisen taulukon arvon.
Tässä tapauksessa haluamme kuitenkin tehdä taulukosta muuttujan, jotta INDEX: lle annettu alue voidaan muuttaa lennossa. Teemme tämän VALINTA-toiminnolla:
CHOOSE(H5,Table1,Table2)
CHOOSE-toiminto palauttaa arvon luettelosta käyttäen tiettyä sijaintia tai hakemistoa. Arvo voi olla vakio, soluviite, matriisi tai alue. Esimerkissä numeerinen indeksi annetaan sarakkeessa H. Kun indeksin numero on 1, käytämme taulukkoa 1. Kun indeksi on 2, syötämme taulukon 2 hakemistoon INDEX:
CHOOSE(1,Table1,Table2) // returns Table1 CHOOSE(2,Table1,Table2) // returns Table2
Huomaa: CHOOSE: lle toimitettujen alueiden ei tarvitse olla taulukoita tai nimettyjä alueita.
Kohdassa I5 sarakkeen H numero on 1, joten CHOOSE palauttaa taulukon 1 ja kaava ratkaisee:
=INDEX(Table1,MATCH("A",Table1(Model),0),2)
MATCH-funktio palauttaa "A": n sijainnin taulukossa 1, joka on 1, ja INDEX palauttaa taulukon 1 sarakkeen 2 rivin 1 arvon, joka on 20,00 dollaria.
=INDEX(Table1,1,2) // returns $20.00