J'ai un exemple de colonne Excel comme indiqué ci-dessous:
L'image ci-dessus ressemble à une table longue à une seule colonne.
Ce que je veux faire, c'est: calculer la somme par bloc de blocs consécutifs comme indiqué par les couleurs de la taille de bloc 3. Actuellement, je vais manuellement à la ligne supérieure de chaque bloc et en utilisant = SUM (A . Mais c'est fastidieux pour la très longue colonne. Existe-t-il un moyen automatisé de calculer ces formules dans Excel?
3 Réponses :
Si les plages sont toutes les 3 lignes, vous pouvez mettre ceci dans A1
=SUM(OFFSET($A$1,3*(ROW()-1),0,3,1))
mais l'approche non volatile est meilleure.
Petite note: OFFSET est volatile =)
Mais si je fais glisser, la somme suivante est de (A2: A4) = SUM (OFFSET (A2,0,0,3,1)) . Je veux que la somme suivante provienne de (A4: A5), puis (A6: A8), et ainsi de suite. Enfin, mettre tous ces résultats dans une seule colonne à droite afin que je puisse le tracer.
Formule modifiée.
Vous pouvez utiliser cette formule dans B1 et faire glisser vers le bas:
1) Avant de modifier - avec des espaces entre les sommes :
=SUM(INDEX(A:A,(ROW()*3)-2):INDEX(A:A,ROW()*3))
2) Après modification - sans espaces entre les sommes:
=IF(MOD(ROW()+2,3)=0,SUM(INDEX(A:A,ROW()):INDEX(A:A,ROW()+2)),"")
peux-tu s'il te plait. expliquer comment fonctionnent les deux options? Vos équations ressemblent à une sorte de magie. Copiez-collez et entrez. Tout fonctionne. Pls. Explique. Merci.
En utilisant INDEX () , nous pouvons créer une plage relative à la position de la ROW () actuelle. Alors que dans la première option, nous devions vérifier si cette position de départ de la ligne actuelle était un multiple de 3 en utilisant MOD () , nous pourrions ignorer cette fonction IF () tout ensemble dans option 2. Pour une meilleure compréhension, vous pouvez utiliser la fonction intégrée "Evaluate Formula" et parcourir la formule étape par étape et voir comment elle se développe =). Cela vous a-t-il aidé?
S'il s'agit des 3 lignes, vous pouvez utiliser SUM et OFFSET.