Excel vzorec: INDEX s variabilným poľom -

Všeobecný vzorec

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

Zhrnutie

Ak chcete nastaviť vzorec INDEX a MATCH, kde je pole poskytované pre INDEX premenné, môžete použiť funkciu CHOOSE. V zobrazenom príklade je vzorec v I5, skopírovaný nadol,:

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

S Tabuľkou 1 a Tabuľkou 2, ako je uvedené na snímke obrazovky.

Vysvetlenie

V jadre ide o normálnu funkciu INDEX a MATCH:

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

Ak sa na nájdenie správneho riadku na návrat z poľa použije funkcia MATCH, funkcia INDEX vráti hodnotu v tomto poli.

V tomto prípade však chceme vytvoriť premennú poľa, aby bolo možné rozsah daný INDEXU meniť za chodu. Robíme to pomocou funkcie CHOOSE:

CHOOSE(H5,Table1,Table2)

Funkcia CHOOSE vráti hodnotu zo zoznamu pomocou danej pozície alebo indexu. Hodnota môže byť konštanta, odkaz na bunku, pole alebo rozsah. V príklade je číselný index uvedený v stĺpci H. Keď je číslo indexu 1, použijeme tabuľku1. Keď je index 2, vložíme Table2 do INDEXU:

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

Poznámka: rozsahmi poskytnutými pri CHOOSE nemusia byť tabuľky ani pomenované rozsahy.

V I5 je číslo v stĺpci H 1, takže CHOOSE vráti tabuľku 1 a vzorec sa vyrieši takto:

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

Funkcia MATCH vráti pozíciu „A“ v tabuľke 1, čo je 1, a INDEX vráti hodnotu v riadku 1, stĺpci 2 tabuľky 1, čo je 20,00 dolárov

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

Zaujímavé články...