Формула на Excel: INDEX с променлив масив -

Обща формула

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

Обобщение

За да настроите формула INDEX и MATCH, където масивът, предоставен на INDEX, е променлив, можете да използвате функцията CHOOSE. В показания пример формулата в I5, копирана надолу, е:

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

С Table1 и Table2, както е посочено на екранната снимка.

Обяснение

В основата си това е нормална функция INDEX и MATCH:

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

Когато функцията MATCH се използва за намиране на правилния ред, който да се върне от масива, а функцията INDEX връща стойността в този масив.

В този случай обаче искаме да направим променливата на масива, така че диапазонът, даден на INDEX, да може да се променя в движение. Правим това с функцията CHOOSE:

CHOOSE(H5,Table1,Table2)

Функцията CHOOSE връща стойност от списък, използвайки дадена позиция или индекс. Стойността може да бъде константа, препратка към клетка, масив или диапазон. В примера числовият индекс е предоставен в колона H. Когато номерът на индекса е 1, използваме Таблица1. Когато индексът е 2, ние подаваме Таблица2 към INDEX:

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

Забележка: диапазоните, предоставени на CHOOSE, не е необходимо да бъдат таблици или имена.

В I5 числото в колона H е 1, така че CHOOSE връща Таблица1 и формулата се решава до:

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

Функцията MATCH връща позицията "A" в Таблица1, която е 1, а INDEX връща стойността в ред 1, колона 2 на Таблица1, която е $ 20,00

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

Интересни статии...