Excel - индексная функция с 2 массивами внутри ссылки - PullRequest
0 голосов
/ 24 июня 2018

парень из моего отдела написал эту сложную формулу, что я не совсем понимаю, как работает эта функция, надеюсь, вы могли бы помочь мне понять. Функция написана, как показано ниже

=SUMPRODUCT((GLs=$B9)* INDEX(Ops INDIRECT(D$5),,)*(Periods=Period))/1000

Часть, которую я не понимаю, это часть INDEX. Внутри ссылки на массив этот парень поместил в него 2 массива, один из которых больше другого. Когда я использовал формулу оценки, она возвращает значение функции индекса, как показано ниже (я только показываю влияние на формулу INDEX)

=SUMPRODUCT((GLs=$B9)* INDEX('Ops Asia'!$F$7:$BV$38 'Ops Asia'!$AV$7:$BG$545,,)*(Periods=Period))/1000

Еще один шаг оценки вернет формулу INDEX, как показано ниже

=SUMPRODUCT((GLs=$B9)* INDEX('Ops Asia'!$AV$7:$BG$38,,)*(Periods=Period))/1000

Кажется, что, поместив 2 массива внутри ссылочной части функции INDEX, возвращается меньший массив. Я никогда не слышал об этом использовании функции INDEX и надеюсь, что кто-то может помочь мне объяснить, как работает этот механизм, и есть ли какой-нибудь интернет-ресурс, упоминающий об этом использовании вложенных массивов?

Спасибо

1 Ответ

0 голосов
/ 24 июня 2018

INDEX используется для обеспечения пересечения двух диапазонов. Пример, который легче понять, может быть,

=SUM(INDEX(A:C 5:7, , ))

Пересечение (то есть перекрывающиеся ячейки) столбцов A: C и строк 5: 7 будет A5: C7. Обратите внимание, что INDEX используется в форме массива без указания номеров строк или столбцов (хотя они должны быть представлены пробелами, отсюда и дополнительные запятые).

Я не уверен, что INDEX абсолютно необходим, поскольку =SUM(A:C 5:7) делает то же самое. Его использование, возможно, было простым способом включить пересечение в формулу SUMPRODUCT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...