![](https://cdn.wiki-base.com/5757746/excel_formula_dynamic_reference_table_name__2.png.webp)
Formula generica
=SUM(INDIRECT(table&"(column)"))
Sommario
Per creare una formula con un riferimento dinamico a un nome di tabella Excel, è possibile utilizzare la funzione INDIRETTO con concatenazione secondo necessità. Nell'esempio mostrato, la formula in L5 è:
=SUM(INDIRECT(K5&"(Amount)"))
Che restituisce la SOMMA degli importi per tre tabelle denominate "Ovest", "Centrale" e "Est".
Spiegazione
Questa formula si comporta come queste formule più semplici:
=SUM(West(Amount)) =SUM(Central(Amount)) =SUM(East(Amount))
Tuttavia, invece di codificare la tabella in ciascuna formula SUM, i nomi delle tabelle sono elencati nella colonna K e le formule nella colonna L utilizzano la concatenazione per assemblare un riferimento a ciascuna tabella. Ciò consente di utilizzare la stessa formula in L5: L7.
Il trucco è la funzione INDIRETTO per valutare il riferimento. Cominciamo con:
=SUM(INDIRECT(K5&"(Amount)"))
che diventa:
=SUM(INDIRECT("West"&"(Amount)"))
e poi:
=SUM(INDIRECT("West(Amount)"))
La funzione INDIRETTO risolve quindi la stringa di testo in un riferimento strutturato appropriato:
=SUM(West(Amount))
E la funzione SOMMA restituisce il risultato finale, 27.500 per la regione occidentale.
Nota: INDIRETTO è una funzione volatile e può causare problemi di prestazioni in cartelle di lavoro più grandi e complesse.