Excel: Comment faire une somme selon critère?
Fermé
angy21
Messages postés
39
Date d'inscription
vendredi 5 mars 2004
Statut
Membre
Dernière intervention
26 juin 2007
-
20 févr. 2006 à 21:48
Vala - 17 avril 2011 à 19:22
Vala - 17 avril 2011 à 19:22
A voir également:
- Excel: Comment faire une somme selon critère?
- Liste déroulante excel - Guide
- Formule excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Mise en forme conditionnelle excel - Guide
5 réponses
yoyoton
Messages postés
6
Date d'inscription
mardi 23 février 2010
Statut
Membre
Dernière intervention
6 août 2010
7
6 août 2010 à 11:49
6 août 2010 à 11:49
Je pense qu'il faut bien comprendre le fonctionnement d'une formule matricielle. Donc, pour faire simple, une formule matricielle sert à générer un ensemble de valeur dans une formule. Par exemple :
=Somme(A1:A5)
peut aussi s'écrire
=Somme (A1;A2;A3;A4;A5)
et donc :
{=Somme(A1:A5)}
Par extension, on peut l'utiliser dans des formules qui utilises normalement des valeurs, comme :
=Somme(si(A1>0;B1;0);si(A2>0;B2;0);si(A3>0;B3;0))
peut aussi donc être écris ainsi :
{=Somme(si(A1:A3;B1:B3;0)}
Attention à valider avec MAJ+CTRL+Entrée... Excel ne comprends pas les accolades
=Somme(A1:A5)
peut aussi s'écrire
=Somme (A1;A2;A3;A4;A5)
et donc :
{=Somme(A1:A5)}
Par extension, on peut l'utiliser dans des formules qui utilises normalement des valeurs, comme :
=Somme(si(A1>0;B1;0);si(A2>0;B2;0);si(A3>0;B3;0))
peut aussi donc être écris ainsi :
{=Somme(si(A1:A3;B1:B3;0)}
Attention à valider avec MAJ+CTRL+Entrée... Excel ne comprends pas les accolades
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
856
20 févr. 2006 à 23:39
20 févr. 2006 à 23:39
bonsoir,
en B1 de ta feuille 2, je mettrais une formule matricielle :
je ferais attention à la façon de noter les mois :
soit en mettant 2006/01 plutôt que 2006/1 si tu tiens à rester en alpha,
soit en utilisant le format date classique obtenu avec la saisie 1/2006.
A+
en B1 de ta feuille 2, je mettrais une formule matricielle :
{=SOMME(SI(Feuil1!$A$1:$A$12<=Feuil2!A1;Feuil1!$B$1:$B$12;0))}sans oublier que les accolades s'obtiennent en validant la saisie de la formule avec CTRL+MAJ+ENTER. il n'est pas utile de les saisir.
je ferais attention à la façon de noter les mois :
soit en mettant 2006/01 plutôt que 2006/1 si tu tiens à rester en alpha,
soit en utilisant le format date classique obtenu avec la saisie 1/2006.
A+
angy21
Messages postés
39
Date d'inscription
vendredi 5 mars 2004
Statut
Membre
Dernière intervention
26 juin 2007
1
21 févr. 2006 à 06:52
21 févr. 2006 à 06:52
Bonjour,
Tout dabord un grand merci pour avoir pris le temps de me répondre.
Ensuite j'ai déjà testé avec la fonction SOMMESI mais cela ne donne pas l'effet escompté car en fin de compte si la condition est remplie, il fait la somme de la plage...
Alors que mon problème actuel c'est que selon le contenu de la cellule A1 il doit faire une somme que d'une partie de la plage.
Voici ma feuille :
En cellule A1 j'ai selon mon exemple 2006/5 et en B1 je compte y mettre ma formule.
Vlici les colonne C et D
2006/1 100
2006/2 200
2006/3 300
2006/4 400
2006/5 500
2006/6 600
2006/7 700
2006/8 800
2006/9 900
2006/10 1000
2006/11 1100
2006/12 1200
Dans la cellule B1 la, j'aimerai qu'il me fasse la somme de 2006/1 a 2006/5 car 2006/5 est en A1. Mais si je change A1 par 2006/8, il doit faire toujours en B1 la somme de 2006/1 et 2006/8... Je pense que c'est ainsi plus clair ?
C'est pas facile de traduire en mot le problème ;-)
Merci en tout cas d'avoir essayé de m'aider.
Bonne journée
Tout dabord un grand merci pour avoir pris le temps de me répondre.
Ensuite j'ai déjà testé avec la fonction SOMMESI mais cela ne donne pas l'effet escompté car en fin de compte si la condition est remplie, il fait la somme de la plage...
Alors que mon problème actuel c'est que selon le contenu de la cellule A1 il doit faire une somme que d'une partie de la plage.
Voici ma feuille :
En cellule A1 j'ai selon mon exemple 2006/5 et en B1 je compte y mettre ma formule.
Vlici les colonne C et D
2006/1 100
2006/2 200
2006/3 300
2006/4 400
2006/5 500
2006/6 600
2006/7 700
2006/8 800
2006/9 900
2006/10 1000
2006/11 1100
2006/12 1200
Dans la cellule B1 la, j'aimerai qu'il me fasse la somme de 2006/1 a 2006/5 car 2006/5 est en A1. Mais si je change A1 par 2006/8, il doit faire toujours en B1 la somme de 2006/1 et 2006/8... Je pense que c'est ainsi plus clair ?
C'est pas facile de traduire en mot le problème ;-)
Merci en tout cas d'avoir essayé de m'aider.
Bonne journée
Merci yoyoton pour ton explication, ça m'a bien servit dans le cadre de mon utilisation personnelle et débutante !
+1 au passage
+1 au passage
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
856
21 févr. 2006 à 09:12
21 févr. 2006 à 09:12
bonjour,
je crois que tu n'as pas testé ce que je t'ai proposé.
d'abord parce qu'il ne s'agit pas de la fonction somme.si
ensuite parce que ça fait exactement ce que tu souhaites faire.
M'enfin!
je crois que tu n'as pas testé ce que je t'ai proposé.
d'abord parce qu'il ne s'agit pas de la fonction somme.si
ensuite parce que ça fait exactement ce que tu souhaites faire.
M'enfin!
angy21
Messages postés
39
Date d'inscription
vendredi 5 mars 2004
Statut
Membre
Dernière intervention
26 juin 2007
1
21 févr. 2006 à 13:35
21 févr. 2006 à 13:35
Re bonjour,
Si si je t'assure j'ai testé mais je dois mal faire alors car je n'obtiens pas le résultat escompté. Voici ma formule (MAJ selon mes données)
=SOMME(SI(stockinitial!$A$1:$A$12<=stockinitial!A1;stockinitial!$D$1:$D$13;0))
En A1 j'ai 2006/5
En B1 ma formule
et en colonne C et D mes données
2006/1 100
2006/2 100
2006/3 100
2006/4 100
2006/5 100
2006/6 100
2006/7 100
2006/8 100
2006/9 100
2006/10 100
2006/11 100
2006/12 100
Avec la formule j'obtiens 1200 alors qu'étant donné que j'ai mis en A1 "2006/5" je devrais avoir 500...
Est-ce que j'ai commis une erreur stp ?
Merci pour ton aide en tout cas.
Si si je t'assure j'ai testé mais je dois mal faire alors car je n'obtiens pas le résultat escompté. Voici ma formule (MAJ selon mes données)
=SOMME(SI(stockinitial!$A$1:$A$12<=stockinitial!A1;stockinitial!$D$1:$D$13;0))
En A1 j'ai 2006/5
En B1 ma formule
et en colonne C et D mes données
2006/1 100
2006/2 100
2006/3 100
2006/4 100
2006/5 100
2006/6 100
2006/7 100
2006/8 100
2006/9 100
2006/10 100
2006/11 100
2006/12 100
Avec la formule j'obtiens 1200 alors qu'étant donné que j'ai mis en A1 "2006/5" je devrais avoir 500...
Est-ce que j'ai commis une erreur stp ?
Merci pour ton aide en tout cas.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
856
21 févr. 2006 à 13:50
21 févr. 2006 à 13:50
ah bin oui!
essaye plutôt ça :
je me répète également : écris 2006/01...09 au lieu de 2006/1...9 sinon tu auras des soucis quand tu saisiras une date limite du genre 2006/10 vu qu'il ne te prendras (ordre alpha oblige) pas les 2006/2...9
A+
essaye plutôt ça :
=SOMME(SI(stockinitial!$C$1:$C$12<=stockinitial!A1;stockinitial!$D$1:$D$12;0))et n'oublies pas de valider par MAJ+CTRL+ENTER pour transformer ta formule en formule matricielle.
je me répète également : écris 2006/01...09 au lieu de 2006/1...9 sinon tu auras des soucis quand tu saisiras une date limite du genre 2006/10 vu qu'il ne te prendras (ordre alpha oblige) pas les 2006/2...9
A+