Monsieur Excel
Pour tout savoir faire sur Excel !

28 mai 2007

Où est la dernière occurrence ?

Il y a quatre jours, nous avons vu comment identifier la position de la seconde occurrence, de la troisième occurrence,…

Parfois, on cherche à identifier directement la dernière occurrence de la valeur recherchée, par exemple la dernière ligne correspondant à une commande de M. Dupont.

Pour cela, il n’est heureusement pas nécessaire de trouver les occurrences une par une. C’est typiquement le genre de problème qui se résout très bien grâce à une formule matricielle.

Nous en voyons le résultat ci-dessus, où la ligne de la dernière occurrence a bien été identifiée alors qu’il y a deux autres « 7 » auparavant.

La formule de la cellule D2 est : =max(ligne(A2:A21)*(A2:A21=D1))

Remarque 1 – Comme toute formule matricielle, celle-ci doit être validée par la combinaison [Ctrl]- [Maj]- [Entrée].

Remarque 2 – Si aucun « 7 » n’est présent, le résultat n’est pas #NA ! mais tout simplement la valeur « 0 ».

Remarque 3 – Notons la particularité de la syntaxe de la fonction ligne(), qui peut avoir un argument ou non. Quand il n'y a pas d'argument, elle renvoie le numéro de la ligne où se trouve la formule.