Excel: Comment faire une somme selon critère?
angy21
Messages postés
39
Statut
Membre
-
Vala -
Vala -
Bonjour à tous,
Je me débrouille bien avec Excel mais là j'ai un peu de mal à trouver solution à mon problème. C''est tout dabord un peu plus complexe que le titre peut laisser paraitre...
Dans une feuille j'ai ceci :
COLONNE A - COLONNE B
2006/1 - 100
2006/2 - 200
2006/3 - 580
2006/4 - 660
et cela jusqu'a 2006/12
Dans une autre feuille dans la cellule A1 je rentre une période selon mes besoins (2006/3 par exemple)
Et le résultat que j'aimerai obtenir en B1 : c'est la somme de tout ce qui est inférieur ou égal à 2006/3 (mis en A1).
Si je met en A1, la référence 2006/10, il faut qu'il fasse de lui meme en B1 la somme de la colonne B de 2006/1 a 2006/10 inclus.
Est-ce que cela est possible ou bien dois-je me rabattre sur une macro ?
Merci par avance pour votre aide précieuse.
Bonne soirée
Je me débrouille bien avec Excel mais là j'ai un peu de mal à trouver solution à mon problème. C''est tout dabord un peu plus complexe que le titre peut laisser paraitre...
Dans une feuille j'ai ceci :
COLONNE A - COLONNE B
2006/1 - 100
2006/2 - 200
2006/3 - 580
2006/4 - 660
et cela jusqu'a 2006/12
Dans une autre feuille dans la cellule A1 je rentre une période selon mes besoins (2006/3 par exemple)
Et le résultat que j'aimerai obtenir en B1 : c'est la somme de tout ce qui est inférieur ou égal à 2006/3 (mis en A1).
Si je met en A1, la référence 2006/10, il faut qu'il fasse de lui meme en B1 la somme de la colonne B de 2006/1 a 2006/10 inclus.
Est-ce que cela est possible ou bien dois-je me rabattre sur une macro ?
Merci par avance pour votre aide précieuse.
Bonne soirée
A voir également:
- Excel: Comment faire une somme selon critère?
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide
5 réponses
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
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+
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
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!
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
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+