Создать соответствие индекса в Excel с динамическим листом

Я пытаюсь создать комбинацию INDEX MATCH с динамическим вводом листа и тремя переменными для сопоставления.

Я воспользовался этой статьей, чтобы понять, как это сделать, и решил использовать версию без массива (или, скорее, как индексный собственный массив, я думаю)

В итоге я получил приведенную ниже функцию ячейки, в настоящее время включающую только 2 переменные.

ПРОБЛЕМА: в настоящее время возвращается ошибка «Значение недоступно». Я дважды проверил ввод несколько раз и не смог найти проблему с формулой.

Текущая формула для ясности:

=INDEX(
INDIRECT(D2&"!J2:J20000");
MATCH(1;
(B1=INDIRECT(D2&"!E2:E20000"))*(B3=INDIRECT(D2&"!G2:G20000"));
0))


77
1

Ответ:

Решено

В случае Excel-2016 вам необходимо ввести формулу как литерал массива. Значит, нажмите CTRL+SHIFT+ENTER после ввода формулы в ячейку. Итак, когда вы помещаете формулу в качестве записи массива, до и после формулы добавляется фигурная скобка {...}. Формула будет выглядеть так

{=INDEX( INDIRECT(D2&"!J2:J20000"); MATCH(1; (B1=INDIRECT(D2&"!E2:E20000"))*(B3=INDIRECT(D2&"!G2:G20000")); 0))}