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

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

  • Matrice-light.xlsx
    411 KB · Affichages: 6

sylvanu

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

Hasco

XLDnaute Barbatruc
Repose en paix
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

  • Matrice-light.xlsx
    410.9 KB · Affichages: 7
Dernière édition:

BOBbrao

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

Discussions similaires

Statistiques des forums

Discussions
312 183
Messages
2 086 005
Membres
103 087
dernier inscrit
sarah.caneri