Excel vzorec: INDEX s proměnným polem -

Obecný vzorec

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

souhrn

Chcete-li nastavit vzorec INDEX a MATCH, kde je pole poskytované pro INDEX proměnné, můžete použít funkci CHOOSE. V zobrazeném příkladu je vzorec v I5, zkopírovaný dolů, následující:

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

S tabulkou 1 a tabulkou 2, jak je uvedeno na snímku obrazovky.

Vysvětlení

V jádru se jedná o normální funkci INDEX a MATCH:

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

Kde se funkce MATCH používá k nalezení správného řádku pro návrat z pole a funkce INDEX vrací hodnotu v tomto poli.

V tomto případě však chceme vytvořit proměnnou pole, takže rozsah daný INDEX lze měnit za běhu. Děláme to pomocí funkce CHOOSE:

CHOOSE(H5,Table1,Table2)

Funkce CHOOSE vrací hodnotu ze seznamu pomocí dané pozice nebo indexu. Hodnota může být konstanta, odkaz na buňku, pole nebo rozsah. V příkladu je číselný index uveden ve sloupci H. Když je číslo indexu 1, použijeme Table1. Když je index 2, vložíme Table2 do INDEXU:

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

Poznámka: rozsahy poskytované CHOOSE nemusí být tabulkami ani pojmenovanými rozsahy.

V I5 je číslo ve sloupci H 1, takže CHOOSE vrátí Table1 a vzorec se vyřeší na:

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

Funkce MATCH vrací pozici „A“ v tabulce 1, což je 1, a INDEX vrací hodnotu v řádku 1, sloupci 2 tabulky 1, což je 20,00 $

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

Zajímavé články...