Bonjour,
Une proposition de formule : en AC11 :
=SIERREUR(INDEX($N$1:$N$30;MOD(PETITE.VALEUR(SI($L$11:$L$30<>"";$R$11:$R$30*1000000+$L$11:$L$30*1000+LIGNE($L$11:$L$30);9^9);LIGNE(1:1));1000));"")
A noter : l'intégration de la colonne L dans la définition de la matrice traitée par PETITE.VALEUR est destinée à distinguer les ex-aequo en ce qui concerne l'index. (L'intégration de la ligne, sert bien sûr à la récupérer après classement des valeurs).
Cette formule est matricielle, à valider par Ctrl+Maj+Entrée. Elle se tire jusqu'en AC30.
Elle s'adapte aux tableaux suivants. Veiller à ce que la plage de la fonction INDEX parte toujours de la ligne 1 (on y applique une valeur de ligne dans la feuille) et s'arrête à la dernière ligne de la plage traitée (de façon à provoquer une erreur pour les non inscrits, traitée par SIERREUR ; appliquer INDEX à la colonne entière fonctionne mais renvoie alors 0 pour les non inscrits, ce qui peut être gênant).
Pour les autres colonnes, du classique : en AE11 :
=SI($AC11<>"";INDEX(P$11:P$30;EQUIV($AC11;$N$11:$N$30;0));"")
Elle se tire sur les 2 autres colonnes et jusqu'à la ligne 30.
Cordialement
Ferrand