Excel-formule: INDEX met variabele array -

Generieke formule

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

Samenvatting

Om een ​​INDEX- en MATCH-formule in te stellen waarbij de array die aan INDEX wordt geleverd variabel is, kunt u de functie CHOOSE gebruiken. In het getoonde voorbeeld is de formule in I5, naar beneden gekopieerd,:

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

Met Table1 en Table2 zoals aangegeven in de schermafbeelding.

Uitleg

In de kern is dit een normale INDEX- en MATCH-functie:

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

Waar de MATCH-functie wordt gebruikt om de juiste rij te vinden die uit de array moet worden geretourneerd, en de functie INDEX de waarde in die array retourneert.

In dit geval willen we echter de array-variabele maken, zodat het bereik dat aan INDEX wordt gegeven direct kan worden gewijzigd. Dit doen we met de CHOOSE-functie:

CHOOSE(H5,Table1,Table2)

De functie CHOOSE retourneert een waarde uit een lijst met behulp van een bepaalde positie of index. De waarde kan een constante, een celverwijzing, een matrix of een bereik zijn. In het voorbeeld wordt de numerieke index gegeven in kolom H. Wanneer het indexnummer 1 is, gebruiken we Tabel1. Als de index 2 is, voeren we Table2 naar INDEX:

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

Opmerking: de bereiken die worden opgegeven om te KIEZEN, hoeven geen tabellen of benoemde bereiken te zijn.

In I5 is het getal in kolom H 1, dus CHOOSE retourneert Tabel1 en de formule wordt omgezet in:

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

De MATCH-functie retourneert de positie van "A" in Tabel1, wat 1 is, en INDEX retourneert de waarde in rij 1, kolom 2 van Tabel1, wat $ 20,00 is

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

Interessante artikelen...