Bonjour
je souhaiterais que la référence qui sorte soit celle qui correspond à la plus grande valeur de la colonne C.
En rajoutant aux données une partie infime de la valeur en colonne C, on différencie le 5 de la ligne 13 pour 2000 dans la colonne C de celui de la ligne 14 pour 1000 en col C.
Ligne 13 >> +($C13/10^9) = + 2000/10^9 = 0,000002
Ligne 14 >> +($C14/10^9) = + 1000/10^9 = 0,000001
Donc, ceci ajouté aux valeurs 5 ex-eaquos fait que le 5 de la ligne 5 du premier tableau serait 5+ 0,000002 dans le tableau 2 et le 5 de la ligne 6 du premier tableau serait 5+0,000001 dans le second.
Conséquence: Premier sorti le D, second le E.
Dernière difficulté, si comme dans le cas précédent, on a des données égales mais que les valeurs correspondantes de la colonne C sont aussi égales. C’est le cas des deux dernières lignes E et F.
Dans ce cas pas de hiérarchie mais je souhaiterais que les deux références apparaissent.
ici intervient la première partie de la formule.L'exemple étant les lignes 6 et 7 ou la valeur 5 est présente sur les 2.
l'astuce habituellement utilisée pour différencier les ex-eaquos en colonne est de rajouter une infime valeur identifiant la ligne. Arbitrairement, LIGNE()/10^9.
Ici, le résultat en lignes 14 et 15 équivaut à rajouter au 5 de la ligne 6 la valeur 0, 000000014 et 0, 000000015 au suivant. On voit que si cela correspond à ta demande de faire apparaître les 2 valeurs qui seraient ici dans l'ordre F et E pour ces 2 lignes, cela ne correspond plus à ta demande de voir le E devant le F, soit l'ordre du tableau.
Pour inverser la progressivité, nouvelle "astuce" (10^2-LIGNE())/10^9 qui renvoie 0,000000086 pour la ligne 14 et 0,000000085 pour la ligne 15
ici, GRANDE.VALEUR fera passer en premier la ligne 14 d'où le résultat final E F.
2èle formule
=INDEX($B$1:$B$15;MIN(SI($D$10:$I$15=C17;LIGNE($D$10:$I$15))))
Aide d'Excel
=INDEX(Matrice, No de ligne)
La matrice où se trouvent les données à renvoyer est la colonne B, limitée dans la formule à $B$1:$B$15 (puisque on connaît la limite du tableau)
=MIN(SI($D$10:$I$15=C17;LIGNE($D$10:$I$15)))
renvoie la première ligne dans laquelle se trouve la valeur C17
Cordialement