
Генеричка формула
=INDEX(CHOOSE(number,array1,array2),MATCH(value,range,0))
Резиме
Да бисте поставили ИНДЕКС и МАТЦХ формулу где је низ који је достављен ИНДЕКС-у променљив, можете користити функцију ЦХООСЕ. У приказаном примеру, формула у И5, копирана доле, је:
=INDEX(CHOOSE(H5,Table1,Table2),MATCH(G5,Table1(Model),0),2)
Са Табела1 и Табела2 како је назначено на снимку екрана.
Објашњење
У основи је ово нормална функција ИНДЕКС и МАТЦХ:
=INDEX(array,MATCH(value,range,0))
Тамо где се функција МАТЦХ користи за проналажење исправног реда који се враћа из низа, а функција ИНДЕКС враћа вредност у том низу.
Међутим, у овом случају желимо да направимо променљиву низа, тако да опсег дат ИНДЕКС-у може да се мења у ходу. То радимо са функцијом ИЗБОР:
CHOOSE(H5,Table1,Table2)
Функција ЦХООСЕ враћа вредност са листе користећи дату позицију или индекс. Вредност може бити константа, референца на ћелију, низ или опсег. У примеру је нумерички индекс наведен у колони Х. Када је број индекса 1, користимо Табелу1. Када је индекс 2, табелу 2 доводимо у ИНДЕКС:
CHOOSE(1,Table1,Table2) // returns Table1 CHOOSE(2,Table1,Table2) // returns Table2
Напомена: опсези дати у ИЗБОР не морају бити табеле или именовани опсези.
У И5, број у колони Х је 1, па ЦХООСЕ враћа Табелу1, а формула се решава на:
=INDEX(Table1,MATCH("A",Table1(Model),0),2)
Функција МАТЦХ враћа положај "А" у Табели1, што је 1, а ИНДЕКС враћа вредност у реду 1, колони 2 Табеле1, што је 20,00 УСД
=INDEX(Table1,1,2) // returns $20.00