Bonjour à tous et bonne année,
J'ai un problème avec une formule SOMMEPROD (toute bête) mais mon grand âge doit me grignoter des neurones chaque jour et je ne vois pas du tout ou est mon erreur.
Merci à tous pour le coup de main!!!
Eric
La formule suivante fonctionne :
=SOMME.SI.ENS(TbAbsence[[#Tout];[Nb Jrs Ouvres]];TbAbsence[[#Tout];[Nom]];A7;TbAbsence[[#Tout];[Type]];B7;TbAbsence[[#Tout];[Date Début Mois]];">="&C7;TbAbsence[[#Tout];[Date Fin Mois]];"<="&D7)
PS : horrible les formules avec un tableau structuré mais comme c'est votre choix ...
La formule suivante fonctionne :
=SOMME.SI.ENS(TbAbsence[[#Tout];[Nb Jrs Ouvres]];TbAbsence[[#Tout];[Nom]];A7;TbAbsence[[#Tout];[Type]];B7;TbAbsence[[#Tout];[Date Début Mois]];">="&C7;TbAbsence[[#Tout];[Date Fin Mois]];"<="&D7)
PS : horrible les formules avec un tableau structuré mais comme c'est votre choix ...
La formule suivante fonctionne :
=SOMME.SI.ENS(TbAbsence[[#Tout];[Nb Jrs Ouvres]];TbAbsence[[#Tout];[Nom]];A7;TbAbsence[[#Tout];[Type]];B7;TbAbsence[[#Tout];[Date Début Mois]];">="&C7;TbAbsence[[#Tout];[Date Fin Mois]];"<="&D7)
PS : horrible les formules avec un tableau structuré mais comme c'est votre choix ...
Merci beaucoup pour cette réponse, en effet cela fonctionne bien, je n'arrive pas à comprendre pourquoi ça ne fonctionne pas avec SOMMEPROD!!!
Merci encore et bonne journée
Re,
Euh je réponds à sa place mais il veut la somme des jours ouvrés donc c'est bien le critère qu'il met en dernier.
Je ne sais pas pourquoi son sommeprod ne fonctionne pas.
Depuis que j'ai découvert (il y a 2 ans ?) somme.si.ens, je le trouve beaucoup + simple d'utilisation et - gourmand
Perso, il ne me semble pas correcte de mettre l'ensemble du tableau comme critère final.
Mais vu que je ne sais pas résoudre le problème avec un SommeProd, je peux me tromper.
Je tenterais plutôt un truc dans le genre *(TbAbsence[Date Fin Mois]-TbAbsence[Date Début Mois]+1) comme critère final.
Mais même là, j'ai l'impression que ça ne prend pas en compte tous les cas possibles.
Bonjour à tous,
Le pb vient du fait que la formule dans la colonne Nb Jrs Ouvres en F2 renvoie un texte vide "".
Soit on remplace dans la formule la valeur vide "" par 0 et c'est bon mais pas trop joli, soit on met une fonction SI du style :
...*SI(TbAbsence[Nb Jrs Ouvres]="";0;TbAbsence[Nb Jrs Ouvres])
Cordialement
Perso, il ne me semble pas correcte de mettre l'ensemble du tableau comme critère final.
Mais vu que je ne sais pas résoudre le problème avec un SommeProd, je peux me tromper.
N'importe quoi !!!! Ce n'est pas l'ensemble du tableau mais bien la colonne "Nb Jrs Ouvres" qui est mis en critère final, et c'est bien ce qu'il faut faire !
Donc c'est comme l'a parfaitement dit ALS35 et comme j'avais écrit mais supprimé... c'est parce que tu as une "case vide"...
En fait la case en question n'est pas exactement vide, elle contient un texte vide, et SommeProd n'est pas très copain avec les cellules contenant un texte vide.
On peut utiliser un format personnalisé pour masquer le 0.
Pour information, on peut utiliser les tableaux structurés et conserver la notation des formules habituelles.
Il suffit de décocher une option dans les options d'Excel, Formules et Manipulations des formules.
On conserve évidemment les propriétés d'un tableau structuré.
Pour information, on peut utiliser les tableaux structurés et conserver la notation des formules habituelles.
Il suffit de décocher une option dans les options d'Excel, Formules et Manipulations des formules.
On conserve évidemment les propriétés d'un tableau structuré.
Vous trouvez vraiment qu'une formule avec les adresses des cellules est plus claire qu'une formule utilisant le nom du tableau et le nom des en-têtes ???
Vous trouvez vraiment qu'une formule avec les adresses des cellules est plus claire qu'une formule utilisant le nom du tableau et le nom des en-têtes ???
Bonjour, votre formule peut également très bien fonctionner avec sommeprod. Il suffit juste de modifier le dernier argument de la formule :
VB:
=SOMMEPROD((TbAbsence[Nom]=A7)*(TbAbsence[Type]=B7)*(TbAbsence[Date Début Mois]>=C7)*(TbAbsence[Date Fin Mois]<=D7)*ESTNUM(TbAbsence[Nb Jrs Ouvres]);(TbAbsence[Nb Jrs Ouvres]))
Sommeprod n'aime pas les cellules vides (ou plus largement les cellules qui ne sont pas des nombres sur la plage à sommer). Pour contourner le problème, il faut rajouter la fonction estnum sur la plage à sommer qui permet de ne prendre en compte que les données numériques.