XL 2016 combiner Index et Equiv : anomalies de résultats

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 !

BOBbrao

XLDnaute Nouveau
Bonsoir,
Quand je combine INDEX et EQUIV je n'obtiens pas le résultat escompté et ne retrouve pas mon erreur.
Dans le fichier joint il y 2 onglets ParamRET (les valeurs possibles selon le nombre d'années ancienneté et la convention collective) et Retraite (qui permet le calcul de la prime retraite).
En D4 je renseigne la convention collective et en B5 et B6 les dates pour calculer l'ancienneté.
Et en E74 j'attends la combinaison (INDEX EQUIV) des 2 pour avoir le coefficient en fonction de l'ancienneté et de la convention collective.
C'est ce coefficient multiplié à un salaire qui fera l'estimation de la prime de retraite.
Je pensais maîtriser certains aspects du sujet (pour l'avoir aussi approfondi grâce à ce site), mais là rien : j'ai trouvé mes limites en cellule E74.

Je remercie celui, celle qui pourra m'aider à résoudre (ce qui pour moi est un gros problème) car j'y suis depuis le début d'après-midi et je sèche.
 

Pièces jointes

Bonjour Bobbrao,
Essayez :
VB:
=(INDEX(ParamRET!$A$2:$G$43;EQUIV(F73;ParamRET!$A$2:$A$43);EQUIV(F72;ParamRET!$A$1:$G$1;0)))
INDEX(ParamRET!$G$2:$G$43 ne peut pas marcher puisque vous référer à une seule colonne, puis calculer un nombre de colonnes.
Ensuite EQUIV(F72;ParamRET!$A$1:$G$1;0) le "0" est obligatoire si on veut une référence exacte.
Faites un retour si c'est ok. ( ou KO d'ailleurs on approfondira )
 
Bonjour,

Pour la ligne à trouver (ancienneté) le troisième paramètre de EQUIV doit être 1 pour les valeurs égales ou inférieures (doivent être classées en ordre croissant, ce qui est le cas) :
=EQUIV(E73;ParamRET!$A$2:$A$43;1)
Pour la colonne, la valeur du troisième paramètre doit être 0 pour une recherche exacte (peu importe l'ordre de tri)
=EQUIV(D4;ParamRET!$B$1:$F$1;0)
ce qui nous donne index/Equiv :
INDEX(ParamRET!$B$2:$F$43;EQUIV(E73;ParamRET!$A$2:$A$43;1);EQUIV(D4;ParamRET!$B$1:$F$1;0))

Il serait peut-être judicieux, avec excel 2016 d'utiliser les tableaux structurés

Ce qui pourrait avec un tableau structuré nommé T_Datas, donné la formule suivante :
=INDEX(INDIRECT("T_Datas[" & D4 & "]");EQUIV($E$73;T_Datas[ancienneté (années)];1))
Où INDIRECT("T_Datas[" & D4 & "]")

renvoie la colonne dont le libellé est en D4.




Cordialement

[Edit]Hello @sylvanu [/Edit]
 

Pièces jointes

Dernière édition:
Sylvanu et Hasco bonjour,
Merci de vos retours : cela fonctionne avec vos 2 méthodes et j'ai mieux compris certaines de mes erreurs.
Pour les tableaux structurés : çà reste à découvrir pour moi car je ne connais pas.
Bonne continuation à vous
 
- 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
10
Affichages
712
Réponses
9
Affichages
272
Réponses
5
Affichages
525
Réponses
6
Affichages
898
Retour