
Generisk formel
=SUM(INDIRECT(table&"(column)"))
Sammanfattning
För att bygga en formel med en dynamisk referens till ett Excel-tabellnamn kan du använda INDIRECT-funktionen med sammanfogning efter behov. I exemplet som visas är formeln i L5:
=SUM(INDIRECT(K5&"(Amount)"))
Som returnerar SUMMA av belopp för tre tabeller med namnet "West", "Central" och "East".
Förklaring
Denna formel beter sig som dessa enklare formler:
=SUM(West(Amount)) =SUM(Central(Amount)) =SUM(East(Amount))
I stället för att hårdkoda tabellen i varje SUM-formel listas tabellnamnen i kolumn K, och formlerna i kolumn L använder sammankoppling för att sammanställa en referens till varje tabell. Detta gör att samma formel kan användas i L5: L7.
Tricket är INDIRECT-funktionen för att utvärdera referensen. Vi börjar med:
=SUM(INDIRECT(K5&"(Amount)"))
som blir:
=SUM(INDIRECT("West"&"(Amount)"))
och då:
=SUM(INDIRECT("West(Amount)"))
INDIRECT-funktionen löser sedan textsträngen till en korrekt strukturerad referens:
=SUM(West(Amount))
Och SUM-funktionen returnerar det slutliga resultatet, 27 500 för västra regionen.
Obs: INDIRECT är en flyktig funktion och kan orsaka prestandaproblem i större, mer komplexa arbetsböcker.