EXCEL SOMME.SI avec condition sur des dates [Résolu/Fermé]

Signaler
-
 Ramel -
Bonjour,

Voila mon PB

Col A : des dates
Col B : Des valeurs

Formule : Si les dates saisies dans la col A sont comprises entre début et fin de mois, additionner les cellules de la Col B qui correspondent à ces dates. En gros additionner uniquement les cellules qui correspondent à une période donnée.

Merci à Tous

6 réponses

Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 184
bonjour

Si en D1, tu mets le mois à comptabiliser, tu peux le faire avec cette formule :
=SOMME((MOIS(A1:A65535)=D1)*(B1:B65535))
ou
=SOMME((A1:A65535>=DATEVAL("1/9/2007"))*(A1:A65535<=DATEVAL("30/9/2007"))*(B1:B65535))

C'est une formule matricielle à valider par CTRL + MAJ + ENTREE (3 doigts au moins)
Il faut que les deux plages soit identiques en taille, même si elles ne sont pas sur la même feuille, ou ne commencent pas à la même ligne et elles ne peuvent pas être saisies comme une colonne entière.

Il est bien sûr possible de rajouter d'autres conditions, saisies entre parenthèses et séparées par "*"

=SOMME((MOIS(A1:A65535)=D1)*(C1:C65535)="valeur")*(B1:B65535))

9
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
4
Date d'inscription
mardi 9 décembre 2008
Statut
Membre
Dernière intervention
14 décembre 2008

bonjour

1ère colonne : 12 mois de l'année (ex 1/12/2008)
2ème colonne : 12 noms differents (ex Alain)
3ème colonne : type de RDV (ex vitrine)
4ème colonne : résultat

1er critère : mois
2ème critère : nom


Comment faire pour comptabiliser le nombre de même cellule d'Alain, Patrick et Franck chaque mois en respectant l'ensemble des criteres :

ex : Alain a réalisé 5 vitrines respectivement le 1/1/2008, 3/1/2008, 7/2/2008, 16/2/2008, 19/2/2008
Patrick 3 vitrines respectivement le 12/3/2008, 13/5/2008, 15/5/2008
Franck 2 vitrines respectivement le 1/5/2008, 7/5/2008

j'aimerai une formule dans la cellule résultat m'indiquant (si je prend l'ex d'Alain, Patrick et Franck) :


ALAIN
mois résultat
janvier 2 (NB d'Alain apparaissant en janvier)
fevrier 3 (NB d'Alain apparaissant en fevrier)
mars 0
avril 0
mai 0

PATRICK
mois résultat
janvier 0
fevrier 0
Mars 1 (NB de Patrick apparaissant en mars)
Avril 0
mai 2 (NB de Patrick apparaissant en mai)

FRANCK
mois résultat
janvier 0
fevrier 0
mars 0
avril 0
mai 2 (NB de Franck apparaissant en mai)
juin 0
juillet 0

J'espère que ces explications vous aideront et que vous me trouverez une solution.
Merci d'avance
Messages postés
4
Date d'inscription
mardi 9 décembre 2008
Statut
Membre
Dernière intervention
14 décembre 2008
>
Messages postés
4
Date d'inscription
mardi 9 décembre 2008
Statut
Membre
Dernière intervention
14 décembre 2008

TEST
Bonjour moi jai.un petis souci est ce que c est formule.marcherais
Jai une feuille ou je fais ma facture et avec deux montant
Service et prestation
Je voudrais que a partir.de.cet facture quand je mais une date exemple 1/05/2014 sa me le mette dans la.feuille du mois de.mai au 1er et arriver au 1er juin sa me le mette sur la.feuille.de.juin est ce possible ?? Merci
Bonjour moi jai.un petis souci est ce que c est formule.marcherais
Jai une feuille ou je fais ma facture et avec deux montant
Service et prestation
Je voudrais que a partir.de.cet facture quand je mais une date exemple 1/05/2014 sa me le mette dans la.feuille du mois de.mai au 1er et arriver au 1er juin sa me le mette sur la.feuille.de.juin est ce possible ?? Merci
Bonjour,
en mettant toujours dans D1 la date choisie, possible aussi avec sommeprod :

=sommeprod((MOIS(A1:A65535)=D1)*(B1:B65535)))
Messages postés
3
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
17 avril 2008
2
Bonjour,
Voila, je pose mon problème à mon tour :
J'ai un beau classeur (dont vous avez la copie ci joint) avec pas mal de données concernant des matériaux.
J'ai ensuite créé une feuille par mois pour faire le total des produit en fonction donc du mois, du produit, du client. Malheureusement je suis un peu en panique car je pense qu'il faut que je mette plusieurs condition pour la fonction SOMMEPROD et la fonction qui me gene le plus pour l'intégrer, c'et la fonction date.
J'attend un sauveur potentiel.
Par avance, Merci.
Messages postés
3
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
17 avril 2008
2 >
Messages postés
25366
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020

MAMANNNNNNNNNNNNN
je n'arrive pas à le mettre mon lien !!!!!!! Honte à moi.
Help please.
Messages postés
25366
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
5 521 >
Messages postés
3
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
17 avril 2008

Essayez ici et suivez scupuleusement la procédure, car je ne pense pas que maman puisse faire quelque chose

https://www.cjoint.com/
Messages postés
4797
Date d'inscription
dimanche 22 juillet 2007
Statut
Contributeur
Dernière intervention
18 décembre 2018
3 771 >
Messages postés
25366
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020

Tu as muté Vaucluse ? Mais alors c'est qu'il fait plus humide par chez toi, sinon on va te perdre. ;-)
Messages postés
3
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
17 avril 2008
2
https://www.cjoint.com/?eroO5L3fL6
on ne sais jamais tant il a marché......
mais j'en doute puisqu'il fait quand même 2.3Mo....
Messages postés
25366
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
5 521 >
Messages postés
3
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
17 avril 2008

.... marche pas...!
Sans doute avez vous réutilisé un ancien contact, car le lien n'est plus disponibles (dixit cijoint)
Messages postés
23555
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
11 octobre 2020
6 400
Bonsoir tout le monde,

Si la formule de gbinforme ne fonctionne pas pour vous, utilisez à ce moment là SOMMEPROD en remplaçant les * par un ;
Ce qui donne =SOMMEPROD((MOIS(B1:B65535)=D1);(A1:A65535)="sortie");(C1:C65535)) il y a peut-être un problème de version excel

Le principe est le suivant :
On a 2 matrices de test (A et B) et une matrice de valeur (C)
Si on a "sortie" en A1 et qu'en B1 on saisi =(A1="sortie") pour excel c'est un test et il repondra VRAI
Si on multiplie ce VRAI par une valeur numérique excel comprend qu'on fait un calcul et transforme ce VRAI en 1. Ex: saisir en C1: =B1*1 => 1*1 => 1
Bien sûr si on a autre chose que "sortie" en A1 excel répondra FAUX qui multiplié par 1 => 0*1 => 0

Ce qu'on vient de faire pour une ligne, excel le fait pour toutes les lignes des plages, il s'agit d'une multiplication de matrices où toutes les lignes sont traitées individuellement (toutes les matrices doivent avoir la même dimension)

ex avec des valeurs bidons:
Supposons A1= "sortie", B1=3, C1=1235
tests et multiplications avec les évaluations successives d'excel :
(A1="sortie") * (B1 = 3) * (1235)
VRAI * VRAI * 1235
1 * 1 * 1235 = 1235

ligne 2, supposons A2="nok" , B2=3, C2= 15
tests et multiplications :
(A2="sortie") * (B2=3) * (15)
FAUX * VRAI * 15
0 * 1 * 15 = 0

Et comme on lui a demandé de faire la somme de toutes les lignes il fera 1235 + 0 => 1235

J'ai essayé de décomposer le travail d'excel pour éclaircir les choses mais ce n'est pas une notion facile à apprehender ni à expliquer.

Mais c'est vraiment très puissant et pratique (adieu la limitation à 7 SI imbriqués et les formules si difficiles à lire), je vous encourage à essayer jusqu'à ce que vous y arriviez

eric
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 184
bonjour Claudio,

Effectivement, c'est bien toi qui est concerné et tu peux regarder ce fichier de test

Puis tu pourras certainement mieux nous expliquer ce qui te poses problème.
Messages postés
23555
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
11 octobre 2020
6 400
Bonsoir claudio,

Voici un exemple avec sommeprod()
C'est vrai qu'il faut faire très attention aux parenthèses
http://www.cijoint.fr/cij107942176728548.xls

eric
Bonsoir,

Encore moi....

J'ai compris l'erreur.
Quand je rentre la formule :

=SOMME((MOIS(A6:A65535)=1)*(C6:C65535="sortie")*(B6:B65535))

ou 1 = le mois de janvier, cela fonctionne parfaitement.

Par contre si je rentre la formule

=SOMME((MOIS(A6:A65535)=D1)*(C6:C65535="sortie")*(B6:B65535))

et que dans D1 je rentre 1, cela ne fonctionne pas................POURQUOI ????????????

Sous quel format faut-il rentrer mon mois dans D1

Vous voyez, ça vient petit à petit......

Claude
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 184
bonsoir,

Sous quel format faut-il rentrer mon mois dans D1

au format standard tout normalement comme tu peux le voir sur l'exemple

Les erreurs surviennent toujours où on ne les attend pas et je suppose que tu as rentré ton mois avec un format "texte" sinon je ne vois pas.
Bonsoir,

MERCI A TOUS POURVOS MULTIPLES EXPLICATIONS ET VOTRE PATIENCE

UN GRAND MERCI A " ERIC" et " TOUJOURS ZEN" pour vos fichiers explicatifs

Ca marche .

Mieux vaut tard que jamais............

Cordialement,

Claude
Messages postés
25366
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
5 521
Bonjour Claudio

Une autre solution:
Colonne A (entrée ou sortie)
Colonne B les dates
Colonne C les montants
Tout cela a partir de la ligne A2
Utilisez par exemple les renvois:
en A1 "Sortie", en B1 =MOIS(D1)
Rentrez la date souhaité en D1_(Voir ma remarque en dessous en gras)
Colonne E, sur la hauteur du champ concerné à partir de la ligne A2:
=SI(MOIS(B2)=$B$1;C2;0)*SI(A2=$A$1;1;0)
En haut de la colonne E, vous pouvez faire le cumul des résultats
On peut aussi bien entendu utiliser pour ce renvoi, une colonne hors champ, masquée, en renvoyant le cumul au bon endroit
Pour info, dans ma configuration, et c'est peut être du à mes réglages, les formules conditionnelles ne marchent avec l'info" MOIS" que si la date est préalablement transformée en numérique, d'où ma proposition de passer par D1 pour aller en B1 renvoyer le code.Par contre cette option a un inconvénient majeur, elle ne peut pas couvrir plus de 12 mois

Je profite de cette intervention pour demander à gbinforme:
_Comment il fait fonctionner MOIS à partir d'un renvoi sur une date, et non sur une valeur numérique
_Comment il fait fonctionner sa dernière formule qu iinclut dans des opèrations une valeur texte ("Sortie")
Je suis vivement interessé par les réponses, donc,merci d'avance


Une autre option, à tout hasard, pour votre tableau, en lecture directe

Libérer la ligne A1 en décalant le tableau
EN C1; placer la formule:=SOUS.TOTAL(9;C1:C1000)
En colonne D, renvoyez comme précédemment=MOIS(B2) sur toute la hauteur du champ
Sélectionner le champ complet du tableau sur A à D
Barre d'outil / Données / Filtrer / Filtre automatique
Dans les déroulants, sélectionnez sur colonne A:"Sortie", puis sur colonne D le mois qui vous interesse.
Votre total s'affiche en C1, de plus vous avez à l'affichage la liste concernée.

BCRDLMNT



Science sans conscience n'est que ruine de l'Ame
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 184
bonjour

Je profite de cette intervention pour demander à gbinforme:

Tu nous expliques beaucoup de choses mais je pense qu'il y a des concepts qui ne sont pas très très clairs pour toi. ainsi, quand tu nous dis :

_Comment il fait fonctionner MOIS à partir d'un renvoi sur une date, et non sur une valeur numérique
Pour faire fonctionner MOIS à partir d'une date, il n'y a rien de plus normal sous Excel car une date est toujours enregistrée sous la forme d'un nombre décimal :
- les valeurs entières représentent le nombre de jours depuis le 01/01/1900 ou le 01/01/1904 selon le calendrier choisi.
- les valeurs décimales représentent la division du jour, c'est-à-dire les heures.

L'affichage d'une date dans une cellule n'est donc que de la présentation qui ne change pas la valeur de la cellule.
Si tu veux le vérifier, prends une cellule définie en standard et tu saisies par exemple 1,5.
Tu définies le format en jj/mm/aaaa et tu obtiens : 01/01/1900
Tu définies le format en [h]:mm et tu obtiens : 36:00
Tu définies le format en jj/mm/aaaa hh:mm et tu obtiens : 01/01/1900 12:00

Pour info, dans ma configuration, et c'est peut être du à mes réglages, les formules conditionnelles ne marchent avec l'info" MOIS" que si la date est préalablement transformée en numérique,
Quels que soient tes réglages, je doute donc fortement de la véracité de cette affirmation...


_Comment il fait fonctionner sa dernière formule qu iinclut dans des opèrations une valeur texte ("Sortie")
=SOMME((MOIS(B1:B65535)=D1)*(A1:A65535)="sortie")*(C1:C65535))

Cette formule fonctionne en fonction des données qui sont mentionnées dans la question :
Col A : 2 valeurs ( entrée ou sortie)
Col B : des dates
Col C : des montants

Donc je traite les valeurs Col A ( entrée ou sortie) comme du texte ( mais c'est un test et non une opération de calcul ), les dates Col B comme des dates ( mais c'est un test sur le mois ) et les montants Col C comme du numérique à totaliser ( là, c'est une vrai opération ) , cela me parait la base de tout calcul tableur.

Si tu penses que l'on peut traiter d'une autre façon, je suis entièrement preneur et il est tout à fait possible d'apprendre plein d'autres méthodes car avant de faire le tour des possibilités d'un tableur il y a des jours à passer : je ne demande qu'à découvrir d'autres possibilités.

Je suis vivement interessé par les réponses, donc,merci d'avance

Voilà ce que j'ai pu apporter comme réponses et si tu veux continuer le dialogue, ce sera avec le plus grand plaisir.
Messages postés
25366
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
5 521
Gbinforme

je ne comprend pas bien le ton de votre message, surtout d'une part le début, ou je n'explique que ce que je constate et
ensuite vos explications sur les dates, ce que je connais parfaitement, même si cela vous étonne,mais voyez vous :

Si je met une formule conditionnelle incluant "MOIS", elle ne marche pas si je traite une liste de date (jour/mois /année) avec une cellule ou je rentre "Octobre" par exemple.
Si je rentre une date dans la cellule une date (1/10/07) par exemple, elle ne marche qu'avec cette date précise et ne prend pas les cellules du même mois et d'autres jours.

Si je renvois les cellules de la liste à traiter avec =MOIS(), effectivement, là, je récupère une valeur numérique correspondante au mois concerné pour toutes les dates, et là, je peux traiter en rentrant dans la cellule de référence le N° du mois recherché.
C'est comme ça, je n'y peux rien.Et ma question portait sur le pourquoi et non sur la configuration des dates dans excel.
Quant à la formule que vous donner incluant l'item="sortie" que vous préconnisez, je l'ai testée chez moi, elle ne renvoi que "valeur" quand les conditions sont remplies.Je ne savais pas sincéremnt que l'on pouvait associer un signe * avec une valeur texte et je me limitais au ;
pour la bonne forme et pour conclure, je précise que je n'ai en aucun cas l'intention de donner des leçons à quelqu'un mais de comprendre pourquoi des solutions que je trouve sur ces forums et qui peuvent me servir ne marchent pas, comportement qui à mon sens ne justifie pas votre entrée en matière!.
Je me permet de supposer que le fond de votre pensée ne se reflète pas dedans
CRDLMNT
PS: en revanche,et après un peu de réflexion, si quelque chose dans mes remarques a pu vous blesser, c'était bien involontaire et mes motivations ne sont que curiosité.
Messages postés
68
Date d'inscription
jeudi 16 août 2007
Statut
Membre
Dernière intervention
8 février 2009
6
bonjour,

j'ai essayé d'intégrer vos formules sur mon fichier excel mais cela ne fonctionne pas.
j'aimerai avoir un coût total par mois. j'aimerai avoir le coût cumulé de tout mes articles pour janvier et à condition que la colonne (G) soit =oui pour chacun de mes articles.

=SOMMEPROD((MOIS(1)=Etalonnage!H7:H48);(Etalonnage!G7:G48)="oui")

la colonne H est rempli par mes dates et la colonne G si mon article est soldé ou non.

Merci de votre aide
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 184
bonjour

j'ai essayé d'intégrer vos formules sur mon fichier excel mais cela ne fonctionne pas.

Heureusement qu'elles ne fonctionnent pas car je me ferais du souci...
Lorsque l'on saisi une formule il y a une syntaxe de saisie et l'on ne peut pas faire n'importe quoi.

En traduisant ce que tu as essayé de faire, je te donnes la bonne syntaxe mais il faut que tu remplaces la dernière plage A7:A48 par la plage de coût de tes articles.
ta version
=SOMMEPROD((MOIS(1)=Etalonnage!H7:H48);(Etalonnage!G7:G48)="oui") 
corrigée
=SOMMEPROD((MOIS(Etalonnage!H7:H48)=1)*1;(Etalonnage!G7:G48="oui")*1; (Etalonnage!A7:A48))
ou
=SOMME((MOIS(Etalonnage!H7:H48)=1)*(Etalonnage!G7:G48="oui")*(Etalonnage!A7:A48))
en validant par ctrl+entrée+majuscule simultanées
Messages postés
68
Date d'inscription
jeudi 16 août 2007
Statut
Membre
Dernière intervention
8 février 2009
6
Merci beaucoup de ta réponse. En effet ma synthaxe n'était pas bonne. Ta formule marche très bien

Problème résolu
bonjour,

je souhaiterais savoir si quelqi'un pouvait m'aider

car j'ai realisé un tableau excel donc ds une colonne avec "date d'envoie" et 1 autre colonne "à relancer"

dans la colonne "à relancer" j'ai mis ca comme formule =SI(F3="non";K3+15;SI(F3="oui";K3+15;"")) mais le souci c'est je ne veux pas que ca tombe le samedi et dimanche.

comment faut il faire?.

merci d'avance pr votre aide
Messages postés
25366
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
5 521
Bonjour
La solution la pus simple, à mon avis, serait, (étant donné que vos dates d'envoi ne doivent pas, du moins je pense , tomber un dimanche) serait de ramerner votre délai à 14 plutôt que 15, comme cela aucun risque, la date calculée porte le même jour que la date d'envoi!
PS: pour être sure d'obtenir une réponse,évitez de vous accrocher sur un ancien sujetbpour poser vos questions, il est préférable d'ouvrir un nouveau sujet
BCRDLMNT
>
Messages postés
25366
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020

ok merci

je sui d'accord avec vous pr reduire le nbre de jours

mais les dates varie dc je retrouve le semadi et le dimanche

il faudrait je pense une formule que ne me fasse pas tomber le samedi et dimanche
Messages postés
25366
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020
5 521 > nani
Re
Je ne comprends pas très bien votre problème.Avez vous des dates d'envoi qui tombe un samedi ou un dimanche?Car une date + 14 retombe nécessairement sur le même jour que la date initiale!
BCRDLMNT
>
Messages postés
25366
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
12 octobre 2020

oui je viens juste de men apercevoir
je me suis prise la tete pr rien
merci