![](https://cdn.wiki-base.com/5757746/excel_formula_dynamic_reference_table_name__2.png.webp)
Обща формула
=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 е променлива функция и може да причини проблеми с производителността в по-големи и по-сложни работни книги.