Les trois arguments d’equiv()
Dans
l’article précédent, nous avons présenté la fonction equiv(). Dans celui-ci,
nous analysons ce qu’elle donne avec chacun de des trois arguments.
L’argument 0
Quand
le troisième argument est 0, Excel renvoie la position dans le vecteur de
recherche de la première occurrence de la valeur cherchée. Dans notre exemple,
la formule de B16, reproduite sous forme de texte dans la cellule B17, dit bien
que c’est en ligne 6 que l’on trouve le premier 7.
Remarque – On peut se demander
pourquoi Microsoft a choisi de prendre par défaut le « 1 »
comme troisième argument alors que c’est le « 0 » qui est de loi le plus
utile.
L’argument 1
Quand
le troisième argument est 1, Excel renvoie la position de la dernière valeur
inférieure ou égale à la valeur cherchée. Cela suppose en théorie que le
vecteur dans lequel on effectue la recherche soit trié en ordre croissant, mais
il n’y a là aucune obligation. Dans notre exemple, la formule de D16,
reproduite sous forme de texte dans la cellule D17, dit bien que c’est en ligne 9
que l’on trouve la dernière valeur inférieure ou égale à 7.
Si
l’on ajoute les valeurs de la colonne D, on peut constater que l’equiv() avec
un 1 en
troisième argument donne exactement le même résultat qu’un simple recherche(),
avec la formule reproduite en D18.
L’argument -1
Quand
le troisième argument est 1, Excel renvoie la position de la dernière valeur
supérieure ou égale à la valeur cherchée. Cela suppose en théorie que le
vecteur dans lequel on effectue la recherche soit trié en ordre décroissant,
mais il n’y a là aucune obligation. Dans notre exemple, la formule de G16,
reproduite sous forme de texte dans la cellule G17, dit bien que c’est en ligne 9
que l’on trouve la dernière valeur inférieure ou égale à 7.
On
ne peut hélas pas, dans ce cas, trouver un équivalent avec la fonction
recherche() car celle-ci ne sait pas gérer une liste de valeurs décroissantes. Mais
on peut par exemple utiliser à cet effet la formule matricielle suivante :
=max(si(F1:F13>=G15;ligne(G1:G13);0)). Cette formule est matricielle, donc validée avec [Ctrl]-[Maj]-[Entrée].
0 Commentaire(s):
Enregistrer un commentaire
<< Accueil