Общая формула
=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 - это непостоянная функция, которая может вызвать проблемы с производительностью в более крупных и сложных книгах.