Загальна формула
=SUM(INDIRECT(table&"(column)"))
Резюме
Щоб побудувати формулу з динамічним посиланням на ім'я таблиці Excel, ви можете використовувати функцію INDIRECT з конкатенацією за потреби. У наведеному прикладі формула в 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)"))
Потім функція INDIRECT перетворює текстовий рядок на належне структуроване посилання:
=SUM(West(Amount))
А функція SUM повертає кінцевий результат - 27 500 для регіону Захід.
Примітка: INDIRECT - це нестабільна функція, яка може спричинити проблеми з продуктивністю у великих, складних книгах.