XL 2021 Combinaison formules grande.valeur(si index equiv

  • Initiateur de la discussion Initiateur de la discussion AD74
  • Date de début Date de début

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 !

AD74

XLDnaute Nouveau
Bonsoir,
Malgré une journée de recherche dans le forum, je n'ai pas trouvé de solution à mon problème.
Je souhaite retrouver quelle femme a fait le meilleur score sur la somme de 4 parties sachant qu'il y a 2 séries de 4 parties.
J'ai donc utilisé Grande.valeur (si "femme". Ma formule pour trouver le résultat est correcte mais lorsque j'utilise index equiv pour retrouver son nom Excel affiche la valeur d'erreur #N/A. Pourriez-vous m'indiquer où est mon erreur de raisonnement ?
Ci-joint mon fichier simplifié pour une meilleure compréhension du problème.
Merci d'avance pour le temps que vous voudrez bien me consacrer.
 

Pièces jointes

Bonsoir AD74, Cousinhub, JHA,

Cette fonction VBA permet d'éviter des formules trop longues :
VB:
Function RechercheJoueurs$(Valeur#, PlageValeur As Range, Genre$, PlageGenre As Range, PlageJoeurs As Range)
Dim sep$, i&
sep = "-" 'séparateur modifiable
For i = 1 To PlageValeur.Rows.Count
    If PlageGenre(i) = Genre Then If Application.CountIf(PlageValeur.Rows(i), Valeur) Then _
        RechercheJoueurs = RechercheJoueurs & sep & PlageJoeurs(i)
Next
RechercheJoueurs = Mid(RechercheJoueurs, Len(sep) + 1)
End Function
En Y4 elle donne :
Code:
=RechercheJoueurs(X4;TabRésultats[[S1_hdc]:[S2_hdc]];"F";TabRésultats[Genre];TabRésultats[JOUEURS])
A+
 

Pièces jointes

Bonjour,
Avec Xl2021, tu as la fonction "Filtre"
Dans ta recherche, essaie :
Code:
=FILTRE(TabRésultats[JOUEURS];(TabRésultats[Genre]="F")*(TabRésultats[S2_hdc]=X4))
Bonne apm
Merci beaucoup pour la rapidité de votre réponse. Je ne connaissais pas cette fonction FiLTRE. Je vais bien sûr chercher à en savoir plus sur celle-ci.
Merci également à tous les contributeurs. C'est déjà parmi les discussions que j'ai pu me familiariser avec les fonctions complexes
 
Bonsoir AD74, Cousinhub, JHA,

Cette fonction VBA permet d'éviter des formules trop longues :
VB:
Function RechercheJoueurs$(Valeur#, PlageValeur As Range, Genre$, PlageGenre As Range, PlageJoeurs As Range)
Dim sep$, i&
sep = "-" 'séparateur modifiable
For i = 1 To PlageValeur.Rows.Count
    If PlageGenre(i) = Genre Then If Application.CountIf(PlageValeur.Rows(i), Valeur) Then _
        RechercheJoueurs = RechercheJoueurs & sep & PlageJoeurs(i)
Next
RechercheJoueurs = Mid(RechercheJoueurs, Len(sep) + 1)
End Function
En Y4 elle donne :
Code:
=RechercheJoueurs(X4;TabRésultats[[S1_hdc]:[S2_hdc]];"F";TabRésultats[Genre];TabRésultats[JOUEURS])
A+
Merci beaucoup pour votre aide. Votre solution est intéressante puisqu'elle permet de gérer les ex aequo. Malheureusement, je ne maîtrise pas VBA. Il va falloir que je m'y mette !
 
Re-,
Si ex-aequo, tu peux utiliser ceci :
Code:
=JOINDRE.TEXTE("/";VRAI;FILTRE(TabRésultats[JOUEURS];(TabRésultats[Genre]="F")*(TabRésultats[S1_hdc]=X4)+(TabRésultats[S2_hdc]=X4)))[/CODE
[QUOTE="Cousinhub, post: 20702744, member: 13730"]
Re-,
Si ex-aequo, tu peux utiliser ceci :
[CODE]=JOINDRE.TEXTE("/";VRAI;FILTRE(TabRésultats[JOUEURS];(TabRésultats[Genre]="F")*(TabRésultats[S1_hdc]=X4)+(TabRésultats[S2_hdc]=X4)))
Effectivement les ex aequo sont listés lorsque je rentre la formule dans MS Srcratch au regard de X8 (590) mais le critère "F" n'est pas pris en compte (des H apparaissent dans la liste). Formule entrée : JOINDRE.TEXTE("/";VRAI;FILTRE(TabRésultats[JOUEURS];(TabRésultats[Genre]="F")*(TabRésultats[S1_scr]=X8)+(TabRésultats[S2_Scr]=X8))) ;
J'ai essayé quelques modifications mais sans succès. Il fut dire que je ne suis plus très efficace en cette fin de journée.
[/QUOTE]


 
Re-,
Effectivement, il manquait 2 parenthèses... sorry
Code:
=JOINDRE.TEXTE("/";VRAI;FILTRE(TabRésultats[JOUEURS];(TabRésultats[Genre]="F")*((TabRésultats[S1_hdc]=X4)+(TabRésultats[S2_hdc]=X4))))
Bonne soirée
Merci beaucoup. Les parenthèses faisaient partie de mes tâtonnements mais je ne les avait pas placées au bon endroit. Vraiment grosse fatigue...
Votre solution est parfaite.
 
Re-,
Pour info, je n'avais pas bien délimité entre le "*" (signifiant "et") et le "+", signifiant ("ou")
Dans ma dernière formule, Filtre, la première condition (colonne ="F") conditionne ("*") avec une des deux autres (séparées par "+")
 
- 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

Retour