XL 2016 Gérer les ex-aequo avec INDEX + EQUIV

  • Initiateur de la discussion Initiateur de la discussion Ddken
  • 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 !

Ddken

XLDnaute Nouveau
Bonjour.
J'ai fait un top 5 de clients, en utilisant une formule hyper compliquée pour m'en sortir :
1656767637390.png

1656767650792.png

Le souci, c'est lorsqu'on se retrouve avec deux montants identiques. La fonction GRANDE.VALEUR n'a pas de problème, mais la recherche (INDEX + EQUIV), si. Ainsi, pour le sirop de pomme cythère qui a deux montants identiques en 3è et 4è position, je me retrouve avec une erreur :
1656768122629.png

La même chose ! Pouvez-vous m'aider à gérer les ex-aequo, de manière à ce que le logiciel m'affiche l'autre client qui a eu 10 000 de commandes ? Votre solution peut être une formule ou du code VBA.

PS : Par transparence, je dois ajouter que j'avais trouvé une solution sur ce site, mais je ne suis pas parvenu à comprendre les formules employées, et donc à reproduire la soluce sur mon classeur. Aussi, j'ai posé la même question sur le forum Excel-pratique, mais je n'ai pas pu y trouver de solution (du moins sous forme de formule ou de code).
 

Pièces jointes

Solution
Bonjour Ddken,
Nulle envie de me plonger dans vos formules, simplement une astuce pour départager les exæquos avec Index Equiv.

Il "suffit" de rajouter à chaque valeur recherchée dans GRANDE.VALEUR une petite valeur liée au numéro de ligne où il se trouve avec par ex :
VB:
LIGNE($B$2:$B$21)/10000
Ainsi si la valeur est 5 à la ligne 18 cela donnera 5.0018, et cette même valeur à la ligne 23 5.0023. Donc on n'a plus d'exæquos.
Une PJ simple pour l'exemple, l'ordre des valeurs est donnée par :
Code:
=GRANDE.VALEUR($B$2:$B$21+LIGNE($B$2:$B$21)/10000;E2)
La recherche du client :
Code:
=INDEX($A$2:$A$21;EQUIV(F2;$B$2:$B$21+LIGNE($B$2:$B$21)/10000;0))
Attention, les deux formules étant matricielles, valider par Maj+Ctrl+Entrée.

En...
Bonjour Ddken,
Nulle envie de me plonger dans vos formules, simplement une astuce pour départager les exæquos avec Index Equiv.

Il "suffit" de rajouter à chaque valeur recherchée dans GRANDE.VALEUR une petite valeur liée au numéro de ligne où il se trouve avec par ex :
VB:
LIGNE($B$2:$B$21)/10000
Ainsi si la valeur est 5 à la ligne 18 cela donnera 5.0018, et cette même valeur à la ligne 23 5.0023. Donc on n'a plus d'exæquos.
Une PJ simple pour l'exemple, l'ordre des valeurs est donnée par :
Code:
=GRANDE.VALEUR($B$2:$B$21+LIGNE($B$2:$B$21)/10000;E2)
La recherche du client :
Code:
=INDEX($A$2:$A$21;EQUIV(F2;$B$2:$B$21+LIGNE($B$2:$B$21)/10000;0))
Attention, les deux formules étant matricielles, valider par Maj+Ctrl+Entrée.

En espérant que cela puisse vous aider.
 

Pièces jointes

Bonsoir,

Une vidéo qui ouvre des possibilités. A voir et tester.
Pour afficher ce contenu, nous aurons besoin de votre consentement pour définir des cookies tiers.
Pour plus d'informations, consultez notre page sur les cookies.
Avec un peu de tâtonnements on peut sortir quelque chose comme ça :
 

Pièces jointes

Bonjour Ddken,
Nulle envie de me plonger dans vos formules, simplement une astuce pour départager les exæquos avec Index Equiv.

Il "suffit" de rajouter à chaque valeur recherchée dans GRANDE.VALEUR une petite valeur liée au numéro de ligne où il se trouve avec par ex :
VB:
LIGNE($B$2:$B$21)/10000
Ainsi si la valeur est 5 à la ligne 18 cela donnera 5.0018, et cette même valeur à la ligne 23 5.0023. Donc on n'a plus d'exæquos.
Une PJ simple pour l'exemple, l'ordre des valeurs est donnée par :
Code:
=GRANDE.VALEUR($B$2:$B$21+LIGNE($B$2:$B$21)/10000;E2)
La recherche du client :
Code:
=INDEX($A$2:$A$21;EQUIV(F2;$B$2:$B$21+LIGNE($B$2:$B$21)/10000;0))
Attention, les deux formules étant matricielles, valider par Maj+Ctrl+Entrée.

En espérant que cela puisse vous aider.
Merci beaucoup pour l'astuce ! En fait, je voulais d'abord en apprendre plus sur les fonctions matricielles avant de répondre. Et après examen de votre classeur, j'ai compris l'astuce (qui m'aidera d'ailleurs certainement pour d'autres problématiques). Merci encore. 😊
 
Bonsoir,

Une vidéo qui ouvre des possibilités. A voir et tester.
Pour afficher ce contenu, nous aurons besoin de votre consentement pour définir des cookies tiers.
Pour plus d'informations, consultez notre page sur les cookies.
Avec un peu de tâtonnements on peut sortir quelque chose comme ça :
Bonsoir, goube. J'aurais bien aimé suivre le monsieur, mais je n'arrive pas à faire fonctionner PowerBI sur mon PC... Je le lance, la fenêtre de chargement apparait, mais ensuite ça reste ainsi ad vitam æternam... Je vais essayer de télécharger depuis une autre source.
 
- 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

Réponses
3
Affichages
489
Réponses
6
Affichages
904
Retour