
Generisk formel
=INDEX(CHOOSE(number,array1,array2),MATCH(value,range,0))
Sammanfattning
För att ställa in en INDEX- och MATCH-formel där arrayen som INDEX tillhandahåller är variabel kan du använda VÄLJ-funktionen. I exemplet som visas är formeln i I5, kopierad ned,:
=INDEX(CHOOSE(H5,Table1,Table2),MATCH(G5,Table1(Model),0),2)
Med tabell 1 och tabell 2 som anges i skärmdumpen.
Förklaring
Kärnan är detta en normal INDEX- och MATCH-funktion:
=INDEX(array,MATCH(value,range,0))
Där MATCH-funktionen används för att hitta rätt rad att återvända från array, och INDEX-funktionen returnerar värdet i den arrayen.
I det här fallet vill vi dock göra arrayen variabel så att intervallet som ges till INDEX kan ändras direkt. Vi gör detta med funktionen VÄLJ:
CHOOSE(H5,Table1,Table2)
VÄLJ-funktionen returnerar ett värde från en lista med en given position eller ett index. Värdet kan vara en konstant, en cellreferens, en matris eller ett intervall. I exemplet tillhandahålls det numeriska indexet i kolumn H. När indexnumret är 1 använder vi tabell1. När indexet är 2 matar vi Table2 till INDEX:
CHOOSE(1,Table1,Table2) // returns Table1 CHOOSE(2,Table1,Table2) // returns Table2
Obs! Områdena som väljs behöver inte vara tabeller eller namngivna intervall.
I I5 är siffran i kolumn H 1, så VÄLJ returnerar tabell1, och formeln löser:
=INDEX(Table1,MATCH("A",Table1(Model),0),2)
MATCH-funktionen returnerar positionen för "A" i tabell1, som är 1, och INDEX returnerar värdet i rad 1, kolumn 2 i tabell1, vilket är $ 20,00
=INDEX(Table1,1,2) // returns $20.00