Формула Excel: Динамическая ссылка Имя таблицы -

Содержание

Общая формула

=SUM(INDIRECT(table&"(column)"))

Резюме

Чтобы построить формулу с динамической ссылкой на имя таблицы Excel, вы можете использовать функцию ДВССЫЛ с конкатенацией по мере необходимости. В показанном примере формула L5 имеет следующий вид:

=SUM(INDIRECT(K5&"(Amount)"))

Что возвращает СУММУ сумм для трех таблиц с именами «Запад», «Центр» и «Восток».

Объяснение

Эта формула ведет себя как эти более простые формулы:

=SUM(West(Amount)) =SUM(Central(Amount)) =SUM(East(Amount))

Однако вместо жесткого кодирования таблицы в каждую формулу SUM имена таблиц перечислены в столбце K, а формулы в столбце L используют конкатенацию для создания ссылки на каждую таблицу. Это позволяет использовать ту же формулу в L5: L7.

Уловка состоит в том, что функция INDIRECT вычисляет ссылку. Начнем с:

=SUM(INDIRECT(K5&"(Amount)"))

который становится:

=SUM(INDIRECT("West"&"(Amount)"))

а потом:

=SUM(INDIRECT("West(Amount)"))

Затем функция ДВССЫЛ преобразует текстовую строку в правильную структурированную ссылку:

=SUM(West(Amount))

И функция СУММ возвращает окончательный результат, 27 500 для западного региона.

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

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