Formule générique
=SUM(INDEX((column),1):(@column))
Sommaire
Pour créer un total cumulé dans un tableau Excel, vous pouvez utiliser la fonction INDEX configurée avec une référence structurée. Dans l'exemple illustré, la formule en F5 est:
=SUM(INDEX((Total),1):(@Total))
Lorsqu'elle est copiée dans la colonne, cette formule renvoie un total cumulé à chaque ligne.
Explication
Au fond, cette formule a un modèle simple comme celui-ci:
=SUM(first:current)
Où «first» est la première cellule de la colonne Total et «current» est une référence à une cellule de la ligne actuelle de la colonne Total.
Pour obtenir une référence à la première cellule, nous utilisons INDEX comme ceci:
INDEX((Total),1)
Ici, le tableau est la colonne «Total» entière et le numéro de ligne est 1. Cela fonctionne parce que la fonction INDEX renvoie une référence à la première cellule, pas la valeur réelle.
Pour obtenir une référence à la ligne courante, nous utilisons:
(@Total)
Il s'agit de la syntaxe de référence structurée standard pour «cette ligne».
Lorsque la formule est copiée dans la colonne, la référence à la première cellule ne change pas, mais le référent à la cellule actuelle change à chaque ligne. Le résultat est une référence qui se développe. La fonction SUM additionne les valeurs de la plage à chaque ligne, créant un total cumulé.
Gamme d'extension simple
Pourquoi ne pas utiliser une gamme extensible simple comme celle-ci?
=SUM($E$5:E5)
Pour une raison quelconque, ce type de référence mixte est corrompu dans un tableau Excel lorsque des lignes sont ajoutées. L'utilisation d'INDEX avec une référence structurée résout le problème.