
Generička formula
=INDEX(CHOOSE(number,array1,array2),MATCH(value,range,0))
Sažetak
Da biste postavili formulu INDEX i MATCH gdje je niz dostavljen INDEX-u promjenjiv, možete koristiti funkciju CHOOSE. U prikazanom primjeru, formula u I5, kopirana dolje, je:
=INDEX(CHOOSE(H5,Table1,Table2),MATCH(G5,Table1(Model),0),2)
S tablicama1 i tablicom2 kako je naznačeno na snimci zaslona.
Obrazloženje
U osnovi je ovo normalna funkcija INDEX i MATCH:
=INDEX(array,MATCH(value,range,0))
Gdje se funkcija MATCH koristi za pronalaženje ispravnog retka koji se vraća iz polja, a funkcija INDEX vraća vrijednost u tom polju.
Međutim, u ovom slučaju želimo napraviti varijablu niza, tako da se raspon dan INDEX-u može mijenjati u letu. To radimo s funkcijom CHOOSE:
CHOOSE(H5,Table1,Table2)
Funkcija CHOOSE vraća vrijednost s popisa pomoću zadanog položaja ili indeksa. Vrijednost može biti konstanta, referenca na ćeliju, niz ili raspon. U primjeru je numerički indeks naveden u stupcu H. Kada je broj indeksa 1, koristimo tablicu1. Kada je indeks 2, tablicu 2 dovodimo u INDEX:
CHOOSE(1,Table1,Table2) // returns Table1 CHOOSE(2,Table1,Table2) // returns Table2
Napomena: rasponi dani u IZBOR ne trebaju biti tablice ili imenovani rasponi.
U I5, broj u stupcu H je 1, pa CHOOSE vraća Tablicu1, a formula se rješava na:
=INDEX(Table1,MATCH("A",Table1(Model),0),2)
Funkcija MATCH vraća položaj "A" u Tablici1, koji je 1, a INDEX vraća vrijednost u retku 1, stupac 2 Tablice1, što je 20,00 USD
=INDEX(Table1,1,2) // returns $20.00