Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Nombre de valeurs de type "texte" uniques selon plusieurs critères.

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 !

PhilippeLM

XLDnaute Nouveau
Bonjour à tous,
je vous remercie par avance pour votre aide sur le sujet ci-dessous.
Voici les données pour comprendre ma requête (avec un fichier Excel en pj, plus facile à exploiter qu'une image).
1685727455366.png

De ces données, je souhaite obtenir le nombre de quiz uniques et réussis pour la semaine 1 (S1). pour l'ID interne suivant : 8120638. Le résultat attendu étant "4".
Je souhaite pouvoir reproduire la formule pour n'importe quel ID Interne.
Mes essais n'ont pas été concluants jusqu'à présent.
Je vous remercie par avance pour votre aide.
 

Pièces jointes

Solution
Bonjour @ tous,
Salut @mapomme ,
Oui t'as raison, on peut contourner le problème comme suit :
VB:
=SIERREUR(LIGNES(UNIQUE(FILTRE(H2:H29;(E2:E29=8120653)*(DROITE(F2:F29;2)="S1")*(J2:J29="Réussi"))));0)

Cordialement
Bonjour,
Quelque chose comme ça peut-être :
VB:
=SOMME(N(UNIQUE(FILTRE(H2:H29;(E2:E29=8120638)*(BYROW(F2:F29;LAMBDA(p;PRENDRE(FRACTIONNER.TEXTE(p;" ");;-1)))="S1")*(J2:J29="Réussi");""))<>""))
Tu peux mettre les valeurs testées dans des cellules pour les faire varier
Cordialement
 
Bonjour PhilippeLM, ALS35,

Inutile d'utiliser les nouvelles fonctions d'Office 365, sur toutes versions :
Code:
=SOMMEPROD((E2:E29=8120638)*ESTNUM(CHERCHE("S1";F2:F29))*(LIGNE(H2:H29)=EQUIV(H2:H29;H:H;0))*(J2:J29="Réussi"))
A+
 
Bonjour,
la formule ne marche pas pour la valeur 8120652, même si on trie le tableau sur l'ID en mettant la valeur 8120652 en tête.
... et je n'arrive pas à comprendre pourquoi ? ça m'énerve !
Cordialement
 
Bonjour @ tous,

Sous Excel pour Microsoft 365 :
VB:
=NBVAL(UNIQUE(FILTRE(H2:H29;(E2:E29=8120638)*(DROITE(F2:F29;2)="S1")*(J2:J29="Réussi"))))


Cordialement
 
Dernière édition:
Re,
Toutes versions d'Excel :
VB:
=NB(1/SI((E2:E29=8120638)*(DROITE(F2:F29;2)="S1")*(J2:J29="Réussi");EQUIV(E2:E29&F2:F29&H2:H29&J2:J29;E2:E29&F2:F29&H2:H29&J2:J29;0)=LIGNE(INDIRECT("1:"&LIGNES(E2:E29)))))
@ valider par Ctrl+Maj+Entrée

Cordialement
 
Bonsoir R@chid 😉,

Avec O365. J'avais trouvé la même formule que toi mais il y a un petit PB si le résultat du filtre est vide (prendre S9) et je n'ai pas trouvé de parade "élégante et concise". NBVAL d'un filtre vide retourne 1 chez moi et non pas 0.
 
Pas de pb chez moi, avec S9 => résultat=0
Ça m'étonne un peu car avec les formule O365, j'ai l'erreur...

Voir le fichier joint.
  • En N2 le choix de la semaine
  • En N6, la formule pour avoir la liste des Id sans doublons
  • En O6, la formule de comptage à recopier vers le bas
En N12, le tableau récapitulatif des erreurs (1 au lieu de zéro).
 

Pièces jointes

moi je parlais de la dernière formule de Rachid
VB:
=NB(1/SI(($E$2:$E$29=O5)*(DROITE($F$2:$F$29;2)="S9")*($J$2:$J$29="Réussi");EQUIV($E$2:$E$29&$F$2:$F$29&$H$2:$H$29&$J$2:$J$29;$E$2:$E$29&$F$2:$F$29&$H$2:$H$29&$J$2:$J$29;0)=LIGNE(INDIRECT("1:"&LIGNES($E$2:$E$29)))))
ou la valeur de l'ID interne est en O5
 
[EDIT 01:40] Une solution ?
VB:
=SI(SOMME((--(DROITE($F$2:$F$29;2)=$N$2))*(($E$2:$E$29)=O8)*($J$2:$J$29="Réussi"))>0;NBVAL(UNIQUE(FILTRE($H$2:$H$29;($E$2:$E$29=O8)*(DROITE($F$2:$F$29;2)=$N$2)*($J$2:$J$29="Réussi"))));0)
avec l'ID interne en O8 [/EDIT]
 
Dernière édition:
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…