Monsieur Excel
Pour tout savoir faire sur Excel !

10 février 2017

La énième occurrence, en direct

Dans l’article précédent, nous avons vu comment trouver la première occurrence, puis la seconde, puis la troisième.. à partir des positions des occurrences précédentes.

Parfois, on souhaite accéder directement à la troisième occurrence, ou à la septième, sans pour autant passer par les occurrences précédentes. Nous allons voir aujourd’hui comment atteindre cet objectif. Vous pouvez voir ce que cela donne dans le bloc D5:E10.

Nous entrons en colonne E le numéro de l’occurrence souhaitée et obtenons en colonne D le numéro de la ligne concernée. Mais ici chacune des formules de D5 à F10 est indépendante et autonome.


La formule de D5 est :
=sierreur(petite.valeur(si($A$1:$A$21=$D$1;ligne($A$1:$A$21));E7);"")
Cette formule est matricielle, donc validée avec [Ctrl]-[Maj]-[Entrée].

Pour comprendre cette formule, il suffit de voir que :
si($A$1:$A$21=$D$1;ligne($A$1:$A$21))
Donne le résultat suivant :
{FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;
FAUX;15;FAUX;FAUX;18;FAUX;FAUX;21}

On cherche alors la énième plus petite valeur et, comme les FAUX ne comptent pas dans cette recherche, on trouve bien la énième occurrence de la valeur recherchée.