![](https://cdn.wiki-base.com/5757746/excel_formula_dynamic_reference_table_name__2.png.webp)
Formuła ogólna
=SUM(INDIRECT(table&"(column)"))
Podsumowanie
Aby zbudować formułę z dynamicznym odwołaniem do nazwy tabeli programu Excel, możesz użyć funkcji POŚREDNIE z konkatenacją w razie potrzeby. W przedstawionym przykładzie formuła w L5 to:
=SUM(INDIRECT(K5&"(Amount)"))
Która zwraca SUMĘ kwot dla trzech tabel o nazwach „Zachodnia”, „Centralna” i „Wschodnia”.
Wyjaśnienie
Ta formuła zachowuje się jak te prostsze formuły:
=SUM(West(Amount)) =SUM(Central(Amount)) =SUM(East(Amount))
Jednak zamiast zakodować tabelę na stałe w każdej formule SUMA, nazwy tabel są wymienione w kolumnie K, a formuły w kolumnie L używają konkatenacji do tworzenia odwołania do każdej tabeli. Pozwala to na użycie tej samej formuły w L5: L7.
Sztuczka polega na tym, że funkcja INDIRECT służy do oceny odniesienia. Zaczynamy od:
=SUM(INDIRECT(K5&"(Amount)"))
który staje się:
=SUM(INDIRECT("West"&"(Amount)"))
i wtedy:
=SUM(INDIRECT("West(Amount)"))
Funkcja POŚREDNI następnie przekształca ciąg tekstowy w odpowiednie odwołanie strukturalne:
=SUM(West(Amount))
Funkcja SUMA zwraca wynik końcowy, 27 500 dla regionu Zachód.
Uwaga: POŚREDNIE jest funkcją ulotną i może powodować problemy z wydajnością w większych, bardziej złożonych skoroszytach.