Microsoft 365 SOMMEPROD

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Excelée

XLDnaute Junior
Bonjour à tous,
j'ai un soucis avec une formule SOMMEPROD.
J'ai essayé plusieurs méthodes en vain.
Je souhaite obtenir la somme en fonction d'un critère et inf ou égale à une date.

=SOMMEPROD(Tableau1[Qualité de meule]="18 PJ")*Tableau1[Date]<=DATE("2020";"07";"01")*Tableau1[nbre de meule]
 

Pièces jointes

Re...
L'erreur ne vient pas de la formule mais de données dans ton tableau
DateCoopN° de lotnbre de meuleQualité de meule
2021_04
33​
PY263304310/13
8​
2021_04
94​
VV269404210/6
8​
2021_04
94​
VV2694044189/230
8​
2021_09
24​
PY262409310/2
4​
2021_09PY262409410/2
4​

Tu as des données incohérentes (des dates mélangées avec des textes, et des nombres mélangés avec des textes

Amicalement
Alain
 
Re...
L'erreur ne vient pas de la formule mais de données dans ton tableau
DateCoopN° de lotnbre de meuleQualité de meule
2021_04
33​
PY263304310/13
8​
2021_04
94​
VV269404210/6
8​
2021_04
94​
VV2694044189/230
8​
2021_09
24​
PY262409310/2
4​
2021_09PY262409410/2
4​

Tu as des données incohérentes (des dates mélangées avec des textes, et des nombres mélangés avec des textes

Amicalement
Alain
Alain,
effectivement l'erreur venait bien de ça!
Merci pour ton aide, je peux enfin avancer sur mon fichier 🙂

Bonne continuation
A bientôt
 
Re... Re...

Sinon, à supposer que tes pseudo-dates soit toujours de la forme "aaaa_mm" et que tes nombres sous forme de texte soient toujours du type nb1/nb2 et en retenant nb2, cette formule valable pour Office2021 et MS365 fait le travail (Voir l'aide de la fonction LET) :
Enrichi (BBcode):
=LET(Dt;Tableau1[Date];
     MesDates;SIERREUR(SI(ESTNUM(Dt);Dt;DATEVAL(SUBSTITUE(Dt;"_";"/")&"/1"));"");
     Nb;Tableau1[nbre de meule];
     MesNb;SIERREUR(SI(ESTNUM(Nb);Nb;CNUM(DROITE(Nb;NBCAR(Nb)-TROUVE("/";Nb))));0);
     Tp;Tableau1[Qualité de meule];
     SOMMEPROD((MesDates<=E$5)*(Tp="18 PJ")*MesNb)
     )
(en renvoyant "" ou 0 pour les cas non prévus)
Bon courage !
Amicalement
Alain
 
Re... Re...

Sinon, à supposer que tes pseudo-dates soit toujours de la forme "aaaa_mm" et que tes nombres sous forme de texte soient toujours du type nb1/nb2 et en retenant nb2, cette formule valable pour Office2021 et MS365 fait le travail (Voir l'aide de la fonction LET) :
Enrichi (BBcode):
=LET(Dt;Tableau1[Date];
     MesDates;SIERREUR(SI(ESTNUM(Dt);Dt;DATEVAL(SUBSTITUE(Dt;"_";"/")&"/1"));"");
     Nb;Tableau1[nbre de meule];
     MesNb;SIERREUR(SI(ESTNUM(Nb);Nb;CNUM(DROITE(Nb;NBCAR(Nb)-TROUVE("/";Nb))));0);
     Tp;Tableau1[Qualité de meule];
     SOMMEPROD((MesDates<=E$5)*(Tp="18 PJ")*MesNb)
     )
(en renvoyant "" ou 0 pour les cas non prévus)
Bon courage !
Amicalement
Alain
Alain, merci beaucoup pour cette autre formule. Petite question que signifie
Enrichi (BBcode):
? 
Cette formule fonctionnera aussi pour les nb1/nb2 c'est cela, mais en prenant qu'elle nombre? le nb1 ou le nb2? 

Merci
 
Re ... Re... Re...
mais en prenant qu'elle nombre? le nb1 ou le nb2?
J'avais écrit :
texte soient toujours du type nb1/nb2 et en retenant nb2,
et c'est bien le nombre après le slash qui est retenu dans la formule ... On pourrait retenir nb1 en prenant ce qui est à droite du / :
...
MesNb;SIERREUR(SI(ESTNUM(Nb);Nb;CNUM(GAUCHE(Nb;TROUVE("/";Nb)-1)));0);
...
Amicalement
Alain
 
Dernière édition:
Re Alain,
j'ai une autre question j'aimerais utilsé la formule SOMMEPROD pour 2 critère: 4 et 5.
Je pensais utiliser la formule suivante:
Code:
=SOMMEPROD((Tableau1[Qualité de meule]=4)+(Tableau1[Qualité de meule]=5)*(Tableau1[Date]<=G$45);Tableau1[nbre de meule])

Mais cela n'a pas l'air de fonctionner....
 
Et encore Re !
Je tondais la pelouse (1ère tonte de l'année) ...
Je vois encore un problème de parenthèses. Tu écris :
=SOMMEPROD((Tableau1[Qualité de meule]=4)+(Tableau1[Qualité de meule]=5)*(Tableau1[Date]<=G$45);Tableau1[nbre de meule])
où je mettrais :
Enrichi (BBcode):
=SOMMEPROD(((Tableau1[Qualité de meule]=4)+(Tableau1[Qualité de meule]=5))*(Tableau1[Date]<=G$45);Tableau1[nbre de meule])
Amicalement
Alain
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
673
Réponses
4
Affichages
114
P
Réponses
7
Affichages
711
Pilliars
P
Réponses
0
Affichages
627
Retour