Fonction pour calculer la somme de différences consécutives

Résolu/Fermé
Utilisateur anonyme - Modifié par PN6K12 le 4/02/2015 à 21:13
jordane45 Messages postés 38173 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024 - 4 févr. 2015 à 22:53
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.

A voir également:

8 réponses

jordane45 Messages postés 38173 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024 4 665
4 févr. 2015 à 21:56
Bonsoir

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)


1
Utilisateur anonyme
4 févr. 2015 à 22:08
Malheureusement Jordane, je ne peux pas utiliser de VBA.

Mais effectivement, cela semble être ce que je cherche.
0
jordane45 Messages postés 38173 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024 4 665 > Utilisateur anonyme
4 févr. 2015 à 22:12
cela semble être ce que je cherche.

Oui je pense ( pour avoir testé différentes combinaisons.. le resultat tombe juste à tous les coups...)

je ne peux pas utiliser de VBA.

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.
0
Utilisateur anonyme
4 févr. 2015 à 22:15
C'est fait, merci Jordane. :)
0
ccm81 Messages postés 10856 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 10 mai 2024 2 404
4 févr. 2015 à 22:03
pour la somme des valeurs absolues des différences il y a ceci
=SOMMEPROD(ABS($A$1:$A$9-$A$2:$A$10))
1
jordane45 Messages postés 38173 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024 4 665
4 févr. 2015 à 22:08
Bonjour CCM81 ....
Juste pour savoir... tu testes tes formules avant de les proposer ?
car pour l'instant il me semble qu'aucune de tes propositions ne donne le résultat escompté..... :-)
0
Utilisateur anonyme
4 févr. 2015 à 22:13
Me voilà dans une situation gênante... Cette formule fonctionne parfaitement, contrairement aux autres !

Merci infiniment ccm81 !!
0
jordane45 Messages postés 38173 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024 4 665 > Utilisateur anonyme
Modifié par jordane45 le 4/02/2015 à 22:19
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 ????
0
Utilisateur anonyme
4 févr. 2015 à 22:23
Ah ah !

Oui, je le confirme :
https://www.cjoint.com/c/EBewF4Ntx9Q
0
ccm81 Messages postés 10856 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 10 mai 2024 2 404
Modifié par ccm81 le 4/02/2015 à 22:31
Et on aurait eu plus vite fait si tu avais donné la méthode attendue du post #11 plus tôt !!!!

Allez bonne nuit à tous
0
ccm81 Messages postés 10856 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 10 mai 2024 2 404
Modifié par ccm81 le 4/02/2015 à 21:20
il te faut donner ici le lien fourni par cjoint.com
0
Utilisateur anonyme
4 févr. 2015 à 21:24
Je veux bien vous donner un fichier, mais je n'ai rien de plus à mettre que ce qu'il y a plus haut.
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 078
4 févr. 2015 à 21:33
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
0
Utilisateur anonyme
4 févr. 2015 à 22:05
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.
0
ccm81 Messages postés 10856 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 10 mai 2024 2 404
Modifié par ccm81 le 4/02/2015 à 22:38
Re-salut Mike,

Je ne sais pas qui distribue les -1 à tour de bras, c'est largement immérité puisque tu as été le premier à flairer la valeur absolue dès 21h33 (elle était bien cachée non ?) je te remets le compteur à 0

Bonne soirée à toi
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81 Messages postés 10856 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 10 mai 2024 2 404
4 févr. 2015 à 22:20
@ jordane45
as tu testé mes propositions, moi toujours ?
https://www.cjoint.com/?3BewBgRMbpH


Cdlmnt
0
jordane45 Messages postés 38173 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024 4 665
Modifié par jordane45 le 4/02/2015 à 22:53

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
0
ccm81 Messages postés 10856 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 10 mai 2024 2 404
Modifié par ccm81 le 4/02/2015 à 21:08
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
-1
Utilisateur anonyme
4 févr. 2015 à 21:11
Bonsoir,

Votre formule ne m'indique pas la bonne valeur. Une idée ?
0
ccm81 Messages postés 10856 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 10 mai 2024 2 404
4 févr. 2015 à 21:14
as tu vu la modification et le fichier joint

Si ça ne correspond pas, complètes le fichier avec le résultat attendu et renvoies le avec cjoint.com
0
Utilisateur anonyme
4 févr. 2015 à 21:18
Oui, merci, j'ai également précisé les valeurs attendues dans mon post.

En fait, ce n'est pas le calcul que je cherche à automatiser. Je cherche plutôt la somme des variations entre chaque donnée. Vous voyez ?
0
ccm81 Messages postés 10856 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 10 mai 2024 2 404
4 févr. 2015 à 21:31
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
-1
Utilisateur anonyme
4 févr. 2015 à 22:01
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.
0
ccm81 Messages postés 10856 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 10 mai 2024 2 404
Modifié par ccm81 le 4/02/2015 à 21:41
Bonsoir Mike

pour la somme des valeurs absolues des différences il y a
B2=ABS(A2-A1)
mais ça ne correspond pas au résultat attendu (19) du post 0

Cdlmnt
-1
Utilisateur anonyme
4 févr. 2015 à 22:05
Tout à fait !
0