Re...
Attention, le chieur reviens
Quelqu'un qui cherche à résoudre des problèmes et à comprendre les méthodes est tout sauf un
chieur...
Vous pouvez utiliser les résultats trouvés par les formules précédentes grâce à la fonction
=INDIRECT() comme vous le verrez dans les colonnes jaunes du classeur joint.
Quand à l'utilisation de
MAX dans une formule matricielle, je vais essayer de l'expliquer sur un exemple.
Supposons que la plage
$A1:$A9 contienne 9 valeurs distinctes et soit la formule
matricielle =MAX(($A1:$A9=B1)*LIGNE($1:$9)).
Elle compare la valeur dans chaque cellule de
$A1:$A9 à la valeur dans
B1.
Si une cellule de
$A1:$A9 contient la valeur dans
B1 le test renvoie
VRAI (qui correspond numériquement à
1), sinon il renvoie
FAUX (correspondant numériquement à
0).
Supposons encore que
B1 porte la même valeur que
A4. Alors le résultat de la comparaison matricielle
($A1:$A9=B1) est la matrice
{0;0;0;1;0;0;0;0;0}.
D'autre part, dans une formule
matricielle,
LIGNE($1:$9) n'est autre que la matrice
{1;2;3;4;5;6;7;8;9}.
Le produit
($A1:$A9=B1)*LIGNE($1:$9) est le produit terme à terme des deux matrices ci-dessus décrites. C'est donc la matrice
{0*1;0*2;0*3;1*7;0*5;0*6;0*7;0*8;0*9},
autrement dit
{0;0;0;4;0;0;0;0;0}.
Finalement,
=MAX(($A1:$A9=B1)*LIGNE($1:$9)) équivaut donc à
=MAX({0;0;0;4;0;0;0;0;0})
et renvoie la plus grande valeur de la matrice, soit
4.
Ouf...
Si vous avez tenu jusqu'ici, les formules matricielles vont très-vite devenir un jeu d'enfant pour vous.