Fonction pour calculer la somme de différences consécutives
Résolu
Utilisateur anonyme
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je cherche une fonction qui permet de calculer la somme des différences consécutives dans une série de données.
Plus simplement, soit une série de données :
A1 = 2
A2 = -1
A3 = 4
A4 = -7
etc.
Je souhaite calculer la différence entre A1 et A2 (ici 3), puis entre A2 et A3 (ici 5), puis entre A3 et A4 (ici 11), etc. Et enfin, je voudrais la somme de toutes ces différences (ici 19). C'est un peu lourd à faire manuellement, n'y a-t-il pas une fonction pour cela ?
Merci d'avance,
Cordialement,
PN6K12.
Je cherche une fonction qui permet de calculer la somme des différences consécutives dans une série de données.
Plus simplement, soit une série de données :
A1 = 2
A2 = -1
A3 = 4
A4 = -7
etc.
Je souhaite calculer la différence entre A1 et A2 (ici 3), puis entre A2 et A3 (ici 5), puis entre A3 et A4 (ici 11), etc. Et enfin, je voudrais la somme de toutes ces différences (ici 19). C'est un peu lourd à faire manuellement, n'y a-t-il pas une fonction pour cela ?
Merci d'avance,
Cordialement,
PN6K12.
A voir également:
- Formule somme valeur absolue excel
- Formule somme excel colonne - Guide
- Formule si et excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Excel mise en forme conditionnelle formule - Guide
- Liste déroulante excel - Guide
8 réponses
Bonsoir
Par formule je ne sais pas... mais en VBA :
Et pour l'utiliser... c'est comme pour les autres formules d'excel...
Par formule je ne sais pas... mais en VBA :
Function SommeInterval(plage As Range) Application.Volatile Dim resultat As Double Dim valcellprec As Double Dim firstVal As Double valcellprec = 0 resultat = 0 For Each cell In plage valcell = cell.Value If valcell <> "" Then resultat = resultat + (Abs(valcellprec - valcell)) valcellprec = valcell End If Next firstVal = plage(1, 1) resultat = resultat - firstVal SommeInterval = resultat End Function
Et pour l'utiliser... c'est comme pour les autres formules d'excel...
=SommeInterval(A1:A4)
pour la somme des valeurs absolues des différences il y a ceci
=SOMMEPROD(ABS($A$1:$A$9-$A$2:$A$10))
=SOMMEPROD(ABS($A$1:$A$9-$A$2:$A$10))
Vraiment ? Oo
J'ai testé et ne suis pas retombé sur les bonnes valeurs...
Je reteste ça de suite et reviens faire mes excuses au besoin à CCM
Bon ben pas d'excuses...
J'ai beau tester dans tous les sens.. je ne vois pas en quoi le résultat obtenu est le bon....
Avec sa formule.. j'obtiens 26....
@PN6K12 .. tu peux me confirmer qu'avec les chiffres que tu as donné au début et cette formule tu obtiens bien 19 ????
J'ai testé et ne suis pas retombé sur les bonnes valeurs...
Je reteste ça de suite et reviens faire mes excuses au besoin à CCM
Bon ben pas d'excuses...
J'ai beau tester dans tous les sens.. je ne vois pas en quoi le résultat obtenu est le bon....
Avec sa formule.. j'obtiens 26....
@PN6K12 .. tu peux me confirmer qu'avec les chiffres que tu as donné au début et cette formule tu obtiens bien 19 ????
Bonsoir,
Pas tout compris, mais teste en B2 cette formule
=SI(A1-A2>=0;A1-A2;A2-A1)
ensuite faire la somme de la plage incrémentée
=SOMME(B2:B50) par exemple
Pas tout compris, mais teste en B2 cette formule
=SI(A1-A2>=0;A1-A2;A2-A1)
ensuite faire la somme de la plage incrémentée
=SOMME(B2:B50) par exemple
Comme l'a très bien souligné ccm81, il existe la fonction ABS.
Seulement voilà, cette étape intermédiaire, où je calcule les différences absolues, ne doit pas apparaitre dans mon tableur.
Je cherche donc une fonction qui me permettrait d'automatiser ce calcul :
ABS(A1-A2)+ABS(A2-A3)+ABS(A3-A4), etc.
Seulement voilà, cette étape intermédiaire, où je calcule les différences absolues, ne doit pas apparaitre dans mon tableur.
Je cherche donc une fonction qui me permettrait d'automatiser ce calcul :
ABS(A1-A2)+ABS(A2-A3)+ABS(A3-A4), etc.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
@ jordane45
as tu testé mes propositions, moi toujours ?
https://www.cjoint.com/?3BewBgRMbpH
Cdlmnt
as tu testé mes propositions, moi toujours ?
https://www.cjoint.com/?3BewBgRMbpH
Cdlmnt
as tu testé mes propositions, moi toujours ?
Oui sinon je ne me serais surement pas permis une telle remarque....
La formule que PK signale comme OK .. me retourne 26 .... (alors que normalement cela devrait être 19 non ?)
Je n'ai pas accès à cijoint depuis le réseau de ma boite.
Je regarderai ton fichier dès que possible car je ne comprend pas cette différence de résultat.
Bonne soirée.
EDIT : EN effet... ça marche bien.
https://forums.commentcamarche.net/forum/affich-31501674-fonction-pour-calculer-la-somme-de-differences-consecutives#26
Bonsoir
La plage à traiter est A1:A10
La somme de toutes les différences
=SOMME(A1:A9)-SOMME(A2:A10)
Exemple
https://www.cjoint.com/?3Bevr3vpY8J
Attention : formule et fichier modifiés
Cdlmnt
La plage à traiter est A1:A10
La somme de toutes les différences
=SOMME(A1:A9)-SOMME(A2:A10)
Exemple
https://www.cjoint.com/?3Bevr3vpY8J
Attention : formule et fichier modifiés
Cdlmnt
1.Je souhaite calculer la différence entre A1 et A2 (ici 3), puis entre A2 et A3 (ici 5), puis entre A3 et A4 (ici 11), etc. Et enfin, je voudrais la somme de toutes ces différences (ici 19)
2Je cherche plutôt la somme des variations entre chaque donnée
c'est ce que fait la fomrule
=SOMME(A1:A9)-SOMME(A2:A10)
A1-A2+A2-A3+A3-A4+A4-A5+A5-A6+A6-A7+A7-A8+A8-A9+A9-A10
= (A1+A2+...+A9)-(A2+A3+...+A10)
voir le fichier modifié
https://www.cjoint.com/?3BevOwAqDBW
ou encore plus simple (mais formule plus compliquée)
=A1-A10
si ce n'est pas ça, sans le fichier demandé, je ne peux rien pour toi
2Je cherche plutôt la somme des variations entre chaque donnée
c'est ce que fait la fomrule
=SOMME(A1:A9)-SOMME(A2:A10)
A1-A2+A2-A3+A3-A4+A4-A5+A5-A6+A6-A7+A7-A8+A8-A9+A9-A10
= (A1+A2+...+A9)-(A2+A3+...+A10)
voir le fichier modifié
https://www.cjoint.com/?3BevOwAqDBW
ou encore plus simple (mais formule plus compliquée)
=A1-A10
si ce n'est pas ça, sans le fichier demandé, je ne peux rien pour toi
Non, ce n'est pas ça. Vous enlevez les parenthèses pour chaque différence, alors qu'elles sont obligatoires. Et puis les différences doivent être absolues.
Je cherche à automatiser :
ABS(A1-A2)+ABS(A2-A3)+ABS(A3-A4), etc. C'est en fait une somme de différences, et non une différence de sommes.
Voici mon fichier :
https://www.cjoint.com/c/EBeweqzFui8
J'y ai intégré des commentaires.
Je cherche à automatiser :
ABS(A1-A2)+ABS(A2-A3)+ABS(A3-A4), etc. C'est en fait une somme de différences, et non une différence de sommes.
Voici mon fichier :
https://www.cjoint.com/c/EBeweqzFui8
J'y ai intégré des commentaires.
Mais effectivement, cela semble être ce que je cherche.
Oui je pense ( pour avoir testé différentes combinaisons.. le resultat tombe juste à tous les coups...)
Dans ce cas... aucune idée.
J'ai fait comme les autres participants... à base de sommeprod...abs et autre..... je n'ai pas trouvé la formule miracle.
J'espère qu'une personne plus inspirée te trouvera la solution à ta question....
Bonne soirée.