Somme d'une plage variable en fonction du signe

zimoun

XLDnaute Nouveau
Bonjour j'ai des données dans la colonne K qui varient entre valeurs nulles, positives et négatives (exemple plus bas). La taille de chaque plage (négative et/ou positive) varie d'un changement de signe à un autre. Je voudrai faire la somme des valeurs positives et des valeurs négatives par tranche (A chaque changement de signe). Pouvez-vous m'aider svp?:( J'ai 30 fichiers à traiter et chaque fichier contient entre 30000 et 45000 lignes. J'ai essayé de faire la somme à chaque changement de signe mais si je dois le faire manuellement ça me prendra facilement une semaine non stop.:eek:

Colonne K
2
3
21
11
15
15
7
11
4
1
0
1
0
-1
-2
-2
-1
-6
-16
-13
-25
-31
-19
-30
-30
-26
-14
-19
0
0
0
0
0
3
3
12
14
5
4
14
-5
-45
-6
-23
-1
-9
 

ngogoisidore

XLDnaute Occasionnel
Re : Somme d'une plage variable en fonction du signe

Bonjour Zimoun,

Il ne faut pas chercher à faire ça en une seule formule (tu t'en doutais surement).

Le plus simple est de créer deux colonnes en vis à vis de ta colonne K.
Disons les colonnes L et M pour se fixer les idées.

  • Dans la cellule Mi, faire la somme partielle, dans la plage de signe constant incluant la ligne i, des valeurs de la colonne K jusqu'à Ki.
  • Dans la cellule Li, ne retenir des Mi que les sommes des plages complètes de signe constant, c'est à dire les valeurs de Mi, juste avant un changement de signe dans la colonne K (écrire, une chaine vide sinon).
Ensuite, pour plus de clareté, il est interressant d'appliquer un format conditionnel aux colonnes K, L et M (au moins) : menu Format/Conditionnal Formating ... qui rajoute un "bord" de cellule sous les cellules Ki, Mi et Li juste avant un changement de signe dans la colonne K.

Plutôt que de t'écrire les formules, j'ai attaché un fichier exemple avec, "en entrée", la colonne K que tu avais donnée dans ton post initial et, "en sortie", les fameuses colonnes L et M que je décris plus haut.

J'espère que tu pourras t'en sortir avec ces indications :).

@+
 

Pièces jointes

  • somme par parties.zip
    4.8 KB · Affichages: 61
Dernière édition:

Temjeh

XLDnaute Accro
Supporter XLD
Re : Somme d'une plage variable en fonction du signe

Bonjour à tous

Je n'ai pas vraiment de solution a apporté mais aimerais si possible savoir quelle est l'option de son classeur pour affiché les plus et les moins des lignes masquées comme dans sont classeur (dans marge de gauche du dernier de kjin) car je n'avais jamais vu ça comme ça.

Merci beaucoup

Temjeh
 

zimoun

XLDnaute Nouveau
Re : Somme d'une plage variable en fonction du signe

Merci, merci, merci. J'ai des génies face à moi. :D Votre aide m'est précieuse. Merci ngogoisidore, abcd, j'ai essayé vos formules et ça marche à merveille sur mes fichiers.
J'aurai une autre question, si possible :eek:. Maintenant que j'ai la somme des parties, J'aurai besoin de faire une différence de deux valeurs de la colonne J, l'adresse de valeurs de J sont déterminé par la somme de la colonne K. Par exemple, si dans la colonne M, j'ai la somme (K1:K10), la différence que j'aurai besoin de faire serait (J10-J1). J'ai repris l'exemple de ngogoisidore, merci encore. Avec ça j'aurai fini le traitement de mes fichiers :p.
 

Pièces jointes

  • somme par parties2.xls
    21 KB · Affichages: 88

abcd

XLDnaute Barbatruc
Re : Somme d'une plage variable en fonction du signe

Bonjour,

Je ne comprends pas pourquoi :

- Il n'y a pas de somme en N12, et donc de différence en O12
- En O28 la différence prend la valeur de la cellule J14 et non celle de J13

Pourais-tu donner un complément d'explication à ce sujet ?

abcd
 

zimoun

XLDnaute Nouveau
Re : Somme d'une plage variable en fonction du signe

Au fait j'ai deux colonnes J et K. J corresponds au temps en ms et K corresponds au déplacement en mm. Ce déplacement change de direction d'ou le changement de signe. J'ai besoin de faire la différence entre le t1 et t2 qui sont déterminés par les adresses de K. Si je devais faire ça manuellement, j'aurai fait la somme des plages par changement de direction ensuite calculer le temps correspond (t2-t1). Mais t2 et t1 sont déterminés par le point de départ et le point d'arrivée. Ce que j'ai mis en colonne N, c'est ce que j'ai fait manuellement, c'est vrai il n'y a pas de somme mais c'était pour rendre mon problème plus explicite. La somme je l'ai grâce à vos formules (colonne L et colonne M) mais je n'arrive pas à faire le reste. Merci infiniment pour votre aide.
 

abcd

XLDnaute Barbatruc
Re : Somme d'une plage variable en fonction du signe

re,

Belle explication mais peu compréhensible pour quelqu'un qui ne connait pas les tenants et aboutissants du fichier.

Ne serait-il pas plus simple de répondre aux deux questions posées ?

abcd
 

zimoun

XLDnaute Nouveau
Re : Somme d'une plage variable en fonction du signe

Ooops, désolée de ne pas être plus explicite dans mon exemple.
Merci abcd pour le fichier, c'est exactement ce que je veux faire. J'ai juste un soucis: Ca prends environ 10 mins voire 15 mins (et souvent ça bloque) pour calculer la somme en fonction du signe alors qu'avec la méthode de ngogoisidore, ça prends 10 s. Pourrais-je appliquer la formule de la colonne M dans le fichier envoyé par ngogoisidore ? J'ai essayé mais ça donne une valeur différente qd je veux faire la vérification.
Merci énormément pour votre aide.
 

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 843
Membres
103 972
dernier inscrit
steeter