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.

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).


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

  • Test Excel Donwload.xlsx
    10.6 KB · Affichages: 17
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

ALS35

XLDnaute Occasionnel
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
 

job75

XLDnaute Barbatruc
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+
 

Gégé-45550

XLDnaute Accro
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
 

R@chid

XLDnaute Barbatruc
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:

R@chid

XLDnaute Barbatruc
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
 

mapomme

XLDnaute Barbatruc
Supporter XLD
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.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
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

  • mapomme- Test Filtre vide- v1.xlsx
    12.7 KB · Affichages: 9

Gégé-45550

XLDnaute Accro
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
 

Gégé-45550

XLDnaute Accro
[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:

Discussions similaires

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