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]
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
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
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