Somme glissante en fonction du résultat

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.

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

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

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);"")

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 ...

voir l'image pour la logique je voudrais faire.

test somme glissant

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...

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...

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

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))

Un grand merci ça marche ! je vais vérifier sur d'autre classeur et je reviens pour confirmer.

Par contre, je demande encore un peu de votre temps si possible . Sur le fichier excel transmis, j’ai le même problème de décalage pour la dernière colonne (Somme des relevés lorsque la somme des distances est >= 100).

voici la formule que j'utilise en D16 =SI(C16>=100;SOMME(B6:B16);0)

Et donc si la somme suivante des distances est inf à 100, j'aurai mon problème de décalage.

En D22 =SI(C22>=100;SOMME(B12:B22);0)

alors que je voudrais avoir D22 =SI(C22>=100;SOMME(B8:B22);0).

Dans tout les cas un grand merci à tous et surtout à toi 78chris.

Après vérification ce soir, je reviendrai notifier que le sujet résolu.

Bonjour

Si j'ai compris (pas sûr) en D6

=SI($B6="";"";SOMME(DECALER($B$5;NB.SI($C$5:$C5;">=100");0;MAX(1;NBVAL($C$5:$C5)-NB.SI($C$5:$C5;">=100"));1);$B6))

Non ce n'est pas cela.

Dans votre formule le terme B5 ne se décale pas.

Exemple dans le fichier excel:

La somme des relevés (colonne D) doit être donné lorsque la somme des distances glissante est >=100 (colonne C)

Dans notre cas, on se place en D16 donc D16= B6 à B10.

La prochaine somme des relevés à calculer est en D22 car somme des distances glissante (colonne C) est >=100.

Donc D22 = B8 à B22.

Ensuite D24= B10 à B24

On doit se décaler de Bn à Bn+1 seulement lorsque la somme >= 100. (ou n+2 dans notre cas)

somme gliss

RE

J'ai bien les mêmes valeurs : il suffit de mettre un test pour n'afficher que celle à côté des 100...

Au début de la formule : =SI(OU($B6="";C6<100);"";....

RE

Dsl je suis pas doué mais lorsque je mets votre formule avec le "test" en D6 :

=SI(OU($B6="";C6<100);"";SI($B6="";"";SOMME(DECALER($B$5;NB.SI($C$5:$C5;">=100");0;MAX(1;NBVAL($C$5:$C5)-NB.SI($C$5:$C5;">=100"));1);$B6)))

je n'obtiens pas les résultats attendu (voir l'image)

exemple en D28 = 94 au lieu de D28=85

D28 = 85 doit etre la somme de B14 à B28

merci encore

test gliss 2

RE

Fais-tu les efforts suffisants ?

somme glissante

Désolé mon erreur est de ne pas avoir indiqué toutes les valeurs en C

j'ai bien compris comment fonctionne la formule

Encore merci pour ton aide et à tous ceux qui ont participé

Bonne journée à tous

Bonjour

Si tu ne veux pas voir 2 fois les valeurs en C, utilise une MFC...

Bonjour,

C'est noté, c'est que je vais faire.

merci.

Rechercher des sujets similaires à "somme glissante fonction resultat"