somme glissante en fonction du résultat Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
S
Sentz
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 18 avril 2018
Version d'Excel : 2010

Message par Sentz » 18 avril 2018, 21:26

Bonjour,

Je suis nouveau sur le forum et j'aurais besoin d'aide étant novice sur excel.

Je voudrais faire une somme et lorsque le résultat est >= à 100, faire une nouvelle somme en glissant à la cellule suivante jusqu'à la prochaine cellule ou le résultat de la somme est >= 100. Ainsi de suite...

EXEMPLE:

De A1 à A50 j'ai rempli les cellules avec des valeurs.

Si la somme de A1 à A6 est égale à 100, faire la somme de A2 jusqu'à la prochaine cellule ou le résultat est >= 100

somme A1 à A6 >=100
somme A2 à A7 >= à 100
somme A3 à A29 >= 100
somme A4 à A 32 >= 100
etc..

Je vous transmets également mon fichier cela sera peut être plus claire.

Merci par avance pour votre aide.
test somme glissant - Copie.xlsx
(12.3 Kio) Téléchargé 17 fois
Modifié en dernier par Sentz le 19 avril 2018, 11:03, modifié 1 fois.
Avatar du membre
Charles Exceller
Membre habitué
Membre habitué
Messages : 50
Appréciations reçues : 4
Inscrit le : 13 avril 2018
Version d'Excel : 2016 FR
Contact :

Message par Charles Exceller » 18 avril 2018, 22:31

Bonjour Sentz,

Je vous propose d'utiliser une simple astuce !
Au lieu de déterminer la liste des cellules à ajouter, vous faites référence à la cellule de la somme précédente auquel vous ajouterez la nouvelle valeur si la précédente est inférieure à 100.

B1 = A1
B2 = SI(B1<100;B1+A2;"")
B3 = Si(B2<>"";SI(B2<100;B2+A3;"");"")
B4 = Si(B3<>"";SI(B3<100;B3+A4;"");"")
B5 = Si(B4<>"";SI(B4<100;B4+A5;"");"")
etc.

Les deux premières lignes servent à amorcer la logique uniquement.
Ensuite, on peut "tirer" la formule vers le bas sans pb.

Ok?
Charles
S
Sentz
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 18 avril 2018
Version d'Excel : 2010

Message par Sentz » 19 avril 2018, 10:57

Bonjour,

Merci pour votre réponse.

la formule fonctionne mais une fois arrivé à un résultat >= 100, les cellules suivantes sont vides.

je voudrais une suite de somme et lorsque le résultat >=100 on recommence la somme en glissant d'une cellule vers le bas.

Exemple avec votre formule ce que j'obtiens:
A B
36 36
11 47
13 60
11 71
35 106
6
20
27
9
35
35

Résultat que je voudrais obtenir:
A B

1 36 36
2 11 47
3 13 60
4 11 71 = SOMME de A1 à A4
5 35 106 = SOMME de A1 à A5
6 6 76 = SOMME de A2 à A6 ( on passe à A2 car B5>=100)
7 20 96 = SOMME de A2 à A7
8 27 123 = SOMME A2 à A8
9 9 121 = SOMME de A3 à A8 ( on passe à A3 car B8>=100)
10 35 143 = SOMME de A4 à A10 ( on passe à A4 car B9>=100)
11 35 ...

Si possible une formule afin d'obtenir automatiquement les résultats sur plusieurs lignes.

J’espère que c'est compréhensible :)
Avatar du membre
78chris
Passionné d'Excel
Passionné d'Excel
Messages : 5'536
Appréciations reçues : 416
Inscrit le : 9 juillet 2017
Version d'Excel : 2010 à 2019 + 365

Message par 78chris » 19 avril 2018, 11:14

Bonjour

Ne pas mettre "" mais A2 et on peut mettre la même formule à partir de la seconde ligne...
= SI(B1<>"";SI(B1<100;B1+A2;A2);"")
Chris
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
Confucius
S
Sentz
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 18 avril 2018
Version d'Excel : 2010

Message par Sentz » 19 avril 2018, 11:56

Bonjour,

Ce n'est pas cela que je recherche.

votre formule :

36=36
11=47
13=60
11=71
35=106
6=6
20=26
27=53
9=62
35=97
35=132

Résultat que je cherche à obtenir :

36=36
11=47
13=60
11=71
35=106
6=76
20=96
27=123
9=121
35=143

Écrire une formule puis étirer si cela est possible.

Merci pour votre aide si vous avez d'autres solutions ... :)
S
Sentz
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 18 avril 2018
Version d'Excel : 2010

Message par Sentz » 19 avril 2018, 13:53

voir l'image pour la logique je voudrais faire.
test somme glissant.png
Avatar du membre
Charles Exceller
Membre habitué
Membre habitué
Messages : 50
Appréciations reçues : 4
Inscrit le : 13 avril 2018
Version d'Excel : 2016 FR
Contact :

Message par Charles Exceller » 19 avril 2018, 19:32

C'est comme l'a dit 78Chris :

B1 = A1
B2 = SI(B1<100;B1+A2;A2)
B3 = SI(B2<100;B2+A3;A3)
Et ainsi de suite...
Avatar du membre
78chris
Passionné d'Excel
Passionné d'Excel
Messages : 5'536
Appréciations reçues : 416
Inscrit le : 9 juillet 2017
Version d'Excel : 2010 à 2019 + 365

Message par 78chris » 19 avril 2018, 20:36

RE

Non c'est plus compliqué que cela notamment du fait d'avoir des textes intercalés entre les nombres qui du coup crée 2 fois la même somme.

Je ne suis pas loin mais j'ai travaillé sur autre chose... en attendant l'inspiration sur une autre méthode gérant cette alternance...
Chris
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
Confucius
S
Sentz
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 18 avril 2018
Version d'Excel : 2010

Message par Sentz » 19 avril 2018, 21:15

Effectivement ce n'est pas cela que j’attends.

Même sans le texte la problématique reste la même je pense. Elle vient je pense du décalage lorsqu’on étire la formule.

Voir l'excel fournis dans mon premier message :

En K24 =SI(K22>=100;-I13+I23+K22;SI(ESTNUM(I23);K22+I23;K22))

Le problème est que lorsque j'étire la formule, je ne veux pas avoir I13 mais I9 dans la formule en K24.
Le terme In doit passer à In+1(ou n+2 si il y a du texte entre les deux) seulement lorsque la somme en K est >=100.

La formule que j'ai proposé n' est sans doute pas la bonne méthode à adopter.
Si vous avez une solution même si il faut changé la structure du tableau pas de soucis. Mon soucis c'est vraiment de réussir à faire les sommes de manière automatique en entrant les valeurs.

Merci pour les solutions proposées.
En espérant que 78chris trouve l'inspiration :)
Avatar du membre
78chris
Passionné d'Excel
Passionné d'Excel
Messages : 5'536
Appréciations reçues : 416
Inscrit le : 9 juillet 2017
Version d'Excel : 2010 à 2019 + 365

Message par 78chris » 19 avril 2018, 21:41

RE
En C6 à recopier en dessous
=SI(A6="";"";SOMME(DECALER($A$5;1+NB.SI($C$5:C5;">=100");0;MAX(1;NBVAL($C$5:C5)-NB.SI($C$5:C5;">=100"));1);A6))
1 membre du forum aime ce message.
Chris
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
Confucius
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message