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

  • Test Excel Donwload.xlsx
    10.6 KB · Affichages: 17
Solution
Bonjour @ tous,
Salut @mapomme ,
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.
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

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

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

Statistiques des forums

Discussions
312 215
Messages
2 086 338
Membres
103 192
dernier inscrit
Corpdacier