Somme de valeurs d'une colonne selon différentes variables
Résolu/Fermé
Carbone1105
Messages postés
6
Date d'inscription
mardi 1 avril 2014
Statut
Membre
Dernière intervention
10 avril 2014
-
1 avril 2014 à 17:19
Carbone1105 Messages postés 6 Date d'inscription mardi 1 avril 2014 Statut Membre Dernière intervention 10 avril 2014 - 2 avril 2014 à 10:33
Carbone1105 Messages postés 6 Date d'inscription mardi 1 avril 2014 Statut Membre Dernière intervention 10 avril 2014 - 2 avril 2014 à 10:33
A voir également:
- Somme de valeurs d'une colonne selon différentes variables
- Déplacer une colonne excel - Guide
- Excel somme colonne - Guide
- Somme si couleur - Guide
- Colonne word - Guide
- Figer une colonne excel - Guide
4 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 775
Modifié par Patrice33740 le 1/04/2014 à 17:55
Modifié par Patrice33740 le 1/04/2014 à 17:55
Bonjour,
Pas besoin de VBA, une simple formule suffit en D1 (avec excel 2007 ou plus récent) :
=SOMME.SI.ENS($C$2:$C$6;$A$2:$A$6;$A2;$B$2:$B$6;$B2;$E$2:$E$6;$E2)
ou pour les versions 2003 et avant :
=SOMMEPROD($C$2:$C$6;($A$2:$A$6=$A2)*1;($B$2:$B$6=$B2)*1;($E$2:$E$6=$E2)*1)
Cordialement
Patrice
Pas besoin de VBA, une simple formule suffit en D1 (avec excel 2007 ou plus récent) :
=SOMME.SI.ENS($C$2:$C$6;$A$2:$A$6;$A2;$B$2:$B$6;$B2;$E$2:$E$6;$E2)
ou pour les versions 2003 et avant :
=SOMMEPROD($C$2:$C$6;($A$2:$A$6=$A2)*1;($B$2:$B$6=$B2)*1;($E$2:$E$6=$E2)*1)
Cordialement
Patrice
Carbone1105
Messages postés
6
Date d'inscription
mardi 1 avril 2014
Statut
Membre
Dernière intervention
10 avril 2014
1 avril 2014 à 18:28
1 avril 2014 à 18:28
Merci Patrice.
J'ai essayé la formule.
Le problème est que lorsque je déroule la formule, cela me créé des doublons sur les lignes pour lesquelles la somme est réalisée.
C'est-à-dire :
Si conducteur ligne 1 = conducteur ligne 2 / etc... (toutes mes variables sont égales pour les 2 premières lignes) , en écrivant la formule dans une nouvelle colonne de la ligne , cela va bien additionner le métrage de la ligne 1 et 2 et s'arrêter là puisque la ligne 3 est différente. Cependant lorsque je déroule la formule, la même addition va aussi se faire sur la ligne 2.
J'ai essayé la formule.
Le problème est que lorsque je déroule la formule, cela me créé des doublons sur les lignes pour lesquelles la somme est réalisée.
C'est-à-dire :
Si conducteur ligne 1 = conducteur ligne 2 / etc... (toutes mes variables sont égales pour les 2 premières lignes) , en écrivant la formule dans une nouvelle colonne de la ligne , cela va bien additionner le métrage de la ligne 1 et 2 et s'arrêter là puisque la ligne 3 est différente. Cependant lorsque je déroule la formule, la même addition va aussi se faire sur la ligne 2.
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 775
1 avril 2014 à 23:15
1 avril 2014 à 23:15
hein ????
Carbone1105
Messages postés
6
Date d'inscription
mardi 1 avril 2014
Statut
Membre
Dernière intervention
10 avril 2014
2 avril 2014 à 09:23
2 avril 2014 à 09:23
Admettons que je n'ai que 3 colonnes.
Une colonne 1 : conducteurs
Une colonne 2 : métrage
Une colonne 3 : qui serve à reporter ma formule / cad somme du métrage si l'ensemble de la colonne 1 est la même.
Exemple :
Ligne 1 : conducteur : GERARD / métrage : 0,4
Ligne 2 : conducteur : GERARD / métrage : 0,8
Ligne 3 conducteur : FRED / métrage : 1,9
Je veux que dans la colonne 3, me soit reportée 1,2 à la ligne 1 OU 2 car la somme de 0,4 et 0,8 (même conducteur) est égale à 1,2. Et je veux que me soit reportée 1,9 à la ligne 3.
Donc résultat attendu :
Ligne 1 : 0
Ligne 2 : 1,2
Ligne 3 : 1,9
Et non :
Ligne 1 : 1,2
Ligne 2 : 1,2
Ligne 3 : 1,9
Car là je fais 2 fois le même calcul. Il y a doublon.
J'espère avoir été plus claire cette fois.
Une colonne 1 : conducteurs
Une colonne 2 : métrage
Une colonne 3 : qui serve à reporter ma formule / cad somme du métrage si l'ensemble de la colonne 1 est la même.
Exemple :
Ligne 1 : conducteur : GERARD / métrage : 0,4
Ligne 2 : conducteur : GERARD / métrage : 0,8
Ligne 3 conducteur : FRED / métrage : 1,9
Je veux que dans la colonne 3, me soit reportée 1,2 à la ligne 1 OU 2 car la somme de 0,4 et 0,8 (même conducteur) est égale à 1,2. Et je veux que me soit reportée 1,9 à la ligne 3.
Donc résultat attendu :
Ligne 1 : 0
Ligne 2 : 1,2
Ligne 3 : 1,9
Et non :
Ligne 1 : 1,2
Ligne 2 : 1,2
Ligne 3 : 1,9
Car là je fais 2 fois le même calcul. Il y a doublon.
J'espère avoir été plus claire cette fois.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
Modifié par michel_m le 2/04/2014 à 10:04
Modifié par michel_m le 2/04/2014 à 10:04
Bonjour
comme l'a très bien écrit Patrice, il n'y a pas besoin de VBA pour traiter ton souci
en C1 à tirer vers le bas (exemple avec 8 lignes et 6 lignes avec un nom en colonne A))
=SI(OU(ESTVIDE(A1);NB.SI(A$1:A1;A1)>1);"";SOMME.SI(A$1:A$8;A1;B$1:B$8))
toujours penser Excel avant de penser VBA :o)
Michel
comme l'a très bien écrit Patrice, il n'y a pas besoin de VBA pour traiter ton souci
en C1 à tirer vers le bas (exemple avec 8 lignes et 6 lignes avec un nom en colonne A))
=SI(OU(ESTVIDE(A1);NB.SI(A$1:A1;A1)>1);"";SOMME.SI(A$1:A$8;A1;B$1:B$8))
toujours penser Excel avant de penser VBA :o)
Michel
Carbone1105
Messages postés
6
Date d'inscription
mardi 1 avril 2014
Statut
Membre
Dernière intervention
10 avril 2014
2 avril 2014 à 10:33
2 avril 2014 à 10:33
J'ai du mal à comprendre ta formule. Ceci dit j'ai essayé la formule suivante et ça fonctionne !
=SI(A2&B2&F2=A3&B3&F3;"";SOMME.SI.ENS(C:C;A:A;A2;B:B;B2;F:F;F2))
Merci à vous pour votre aide.
=SI(A2&B2&F2=A3&B3&F3;"";SOMME.SI.ENS(C:C;A:A;A2;B:B;B2;F:F;F2))
Merci à vous pour votre aide.