Bonjour

Envoyé par
alucard_xs
J'utilise la formule NB.SI.ENS habituellement.
Dans ce cas, tu dois savoir que NB.SI.ENS() prolonge NB.SI dans le cas où il y a plusieurs plages à tester : elle renvoie le nombre de cas qui satisfont toutes les conditions (comme un ET). Or dans l'exemple de ton fichier joint, tu utilises un nombre impair d'arguments pour NB.SI.ENS() qui doit toujours avoir un nombre pair (plage; critère; plage; critère;etc.) ce qui explique l'erreur 511, ce n'est pas dû à la complexité de ce que tu lui demandes.
Par exemple, en B2 de la feuille Comptage, au lieu de :
=NB.SI.ENS($Feuille2.$A$2:$A$10;DROITE($Feuille2.$A$2:$A$10;6);$A2)
tu aurais dû mettre :
=NB.SI.ENS(DROITE($Feuille2.$A$2:$A$10;6);$A2)
Seulement, comme tu utilises la fonction DROITE(), qui n'est pas naturellement matricielle, tu dois valider la formule en matriciel, par Ctrl+Maj+Entrée. Je comprends que tu puisses vouloir utiliser la fonction DROITE() si tu ne veux pas utiliser les expressions régulières dans les formules (par exemple si tu as des chaînes de texte avec des caractères spéciaux) mais si ça n'est pas le cas, tu aurais tout intérêt à utiliser la formule :
=NB.SI.ENS($Feuille2.$A$2:$A$10;".?"&$A2)
qui elle ne nécessite pas de validation matricielle. Et, tant qu'on y est, puisqu'il n'y as qu'une seule plage testée par formule, tu peux oublier NB.SI.ENS et revenir à NB.SI , que ce soit en matriciel avec DROITE :
=NB.SI(DROITE($Feuille2.$A$2:$A$10;6);$A2)
ou sans matriciel avec les expressions régulières :
=NB.SI($Feuille2.$A$2:$A$10;".?"&$A2)
Cordialement,
Pekoe
Partager