Excel-formel: Dynamisk referens Tabellnamn -

Innehållsförteckning

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.

Intressanta artiklar...