Monsieur Excel
Pour tout savoir faire sur Excel !

20 mars 2011

Découverte de la fonction equiv()

Après les tutoriaux récents sur les fonction recherche() et index(), il ne nous reste plus qu’à attaquer aujourd’hui la dernière des trois glorieuses, la fonction equiv(). Nous avons ajouté à notre tableau antérieur une colonne K où des valeurs aléatoires de 1 à 9 sont calculées à l’aide de la formule =ent(1+9*alea()).

Le but du jeu est, après avoir identifié en H9 la valeur cherchée (le 7), à trouver en H10 le numéro de la première ligne de la colonne K où l’on trouve la valeur cherchée.

Pour cela, la syntaxe de la fonction equiv() est =equiv(valeur;vecteur;0).

Ici, la formule utilisée est donc =equiv(H9;K:K;0).

L’algorithme de la fonction equiv avec l’argument final « 0 » est le même que celui du recherchev() avec FAUX : on descend le vecteur jusqu’au moment où l’on trouve la valeur cherchée. Dès qu’on la trouve, la fonction renvoie la position de cette valeur dans le vecteur. Si on ne la trouve pas, elle renvoie #N/A.

Remarque 1 – Il y a deux autres valeurs possibles pour le troisième argument, « +1 » (ou rien, ce qui revient au même) ou « -1 ». Nous en parlerons dans le prochain article.

Remarque 2 – Comme pour le recherchev() avec FAUX, l’ordre du vecteur n’a pas la moindre importance, il n’a donc aucun besoin d’être trié en valeurs croissantes.

Remarque 3 – Avec en H11 la formule =index(K:K;H10) on récupère la valeur cherchée, sauf bien entendu si H10 renvoie #N/A. Donc =equiv(valeur;vecteur;0) trouve la position de la valeur dans le vecteur, alors que =index(vecteur;position) trouve la valeur de la position dans le vecteur : ces deux fonctions sont étroitement liées !