Formule générique
=SUM(INDIRECT(table&"(column)"))
Sommaire
Pour créer une formule avec une référence dynamique à un nom de tableau Excel, vous pouvez utiliser la fonction INDIRECT avec concaténation si nécessaire. Dans l'exemple illustré, la formule en L5 est:
=SUM(INDIRECT(K5&"(Amount)"))
Ce qui renvoie la somme des montants pour trois tables nommées "Ouest", "Central" et "Est".
Explication
Cette formule se comporte comme ces formules plus simples:
=SUM(West(Amount)) =SUM(Central(Amount)) =SUM(East(Amount))
Toutefois, au lieu de coder en dur la table dans chaque formule SOMME, les noms de table sont répertoriés dans la colonne K et les formules de la colonne L utilisent la concaténation pour assembler une référence à chaque table. Cela permet d'utiliser la même formule dans L5: L7.
L'astuce est la fonction INDIRECT pour évaluer la référence. Nous commençons par:
=SUM(INDIRECT(K5&"(Amount)"))
qui devient:
=SUM(INDIRECT("West"&"(Amount)"))
puis:
=SUM(INDIRECT("West(Amount)"))
La fonction INDIRECT résout ensuite la chaîne de texte en une référence structurée appropriée:
=SUM(West(Amount))
Et la fonction SOMME renvoie le résultat final, 27 500 pour la région Ouest.
Remarque: INDIRECT est une fonction volatile et peut entraîner des problèmes de performances dans des classeurs plus volumineux et plus complexes.