Bonjour,
Explication de la formule
On suppose dans notre exemple que nous avons un tableau de $A$1:$E$maxline
La colonne 1 contient des valeurs qui ne nous intéressent pas dans la formule.
Les libellés se trouvent dans la plage $B2:$D2 et ensuite à partir de la ligne 2 $B2:$Emaxline, les éléments à comparer.
La plus grande valeur pour l'exemple se trouvera en cellule $D2.
=SI(NBVAL($B2:$D2);DECALER($A$1;0;SOMMEPROD( ($B2:$D2=GRANDE.VALEUR($B2:$D2;1)) * COLONNE($B2:$D2))-1);"")
1 - D'abord on vérifie s'il y a des valeurs dans la plage $B2:$D2
=SI(NBVAL($B2:$D2);formules renvoyant le libellé;"")
2 - Calculer la position de la valeur la plus grande dans la plage B2:H2
SOMMEPROD( ($B2:$D2=GRANDE.VALEUR($B2:$D2;1)) * COLONNE($B2:$D2))-1)
Dans SOMMEPROD
Elément 1 - ($B2:$D2=GRANDE.VALEUR($B2:$D2;1)) aura une matrice qui renverra (FAUX.FAUX.VRAI)
Elément 2 - COLONNE($B2:$H2) renverra une matrice (2.3.4)
On va multiplier les 2 éléments (FAUX valant 0 et VRAI 1) nous aurons donc dans notre exemple (0 * 2) + (0 * 3) + (1 * 4) ce qui donnera 4 (comme la première colonne du tableau $B2:$D2 est la colonne 2 de la feuille excel, nous devons retrancher 1 pour obtenir le bon résultat.
D'où SOMMEPROD(($B2:$G2=GRANDE.VALEUR($B2:$G2;1)) * COLONNE($B2:$G2))-1)
Maintenant que nous connaissons le n° de la colonne où aller chercher le libellé. On va aller chercher cette information dans la plage $B2:$D2. C'est là qu'entre en scène la fonction DECALER
3 – Prendre le libellé le colonne 3 de la plage $B2:$D2 (DECALER)
Nous partons de la cellule $A$1 dont on se décale de 0 ligne (puisque les libellés que nous cherchons se trouve sur la ligne 1 - même ligne que $A$1) et de 3 colonnes
Rappel : Ce chiffre 3 est calculer par la formule (SOMMEPROD(($B2:$G2=GRANDE.VALEUR($B2:$G2;1)) * COLONNE($B4:$G4))-1))
CQFD J'espère que c'est plus clair et que je n'ai rien oublié.
Partager