Les fonctions RechercheV et RechercheH
Les fonctions RechercheV()
et RechercheH() ont été créées pour ajouter de la flexibilité à la fonction
Recherche() en permettant à l’utilisateur de choisir la position de la
colonne (ou ligne) fournissant le résultat. En plus, elles ne dépendaient plus
de la forme de la matrice (verticale ou horizontale), ce qui troublait certains
utilisateurs.
La première syntaxe de RechercheV ou
…H
La syntaxe de RechercheV
était initialement =recherchev(valeur;matrice;n°colonne).
En fait, elle fonctionnait comme la fonction recherche() sur une matrice
carrée ou verticale, mais en ramenant la valeur de la colonne sélectionnée
plutôt que celle de la dernière colonne.
Cela correspondait à la demande
de nombreux utilisateurs. Mais une autre demande de nombreux utilisateurs
restait insatisfaite, à savoir comment faire pour exiger que la valeur cherchée
soit égale à une valeur de la première colonne.
Nous voyons dans l’image
suivante, dans la cellule B14, ce qui se passe quand on fait un simple recherchev()
pour trouver le nom de la personne à partir de son prénom. Comme il n’y a pas
de Jules, Excel renvoie le nom de la personne ayant le dernier prénom antérieur
à Jules.
Certes, on pouvait résoudre le
problème comme cela a été fait en B15. Mais plus de 90% des utilisateurs d’Excel
en étaient totalement incapables.
La solution utilisée en B16,
grâce à la seconde syntaxe de RechercheV (avec faux), résout le problème plus aisément !
La seconde syntaxe de RechercheV ou
…H
En effet, la seconde syntaxe de
RechercheV (ou …H) comporte un dernier argument. Quand ce dernier argument est faux, un message d’erreur
s’affiche si le prénom demandé n’appartient pas à la liste des prénoms.
Il y a une différence
fondamentale quand on utilise ce dernier argument : Microsoft utilise
alors un autre algorithme que l’algorithme traditionnel de Recherche().
L’ancien algorithme compare la
valeur cherchée à la valeur courante dans la colonne de recherche et, dès que
la valeur cherchée est inférieure à la valeur courante, s’arrêt et remonte d’une
ligne pour fournir le résultat. Cela suppose que la première colonne soit
rangée en ordre croissant.
Quand on utilise un recherchev()
avec faux
en dernier argument, c’est un autre algorithme qui est utilisé. On descend alors
dans la première colonne jusqu’à ce que l’on trouve la valeur cherchée. Dès qu’on
la trouve, on s’arrête ! Ce qui signifie qu’il n’y a plus du tout la
nécessité que la première colonne soit rangée en ordre croissant.
En conséquence, dans notre
exemple, si l’on cherche Gilles, on trouve Lebleu avec le recherche() tout court ou le recherchev() simple, et Lenoir avec le recherchev() avec faux à la fin !
Tout cela est subtil et, à mon
humble avis, l’utilisateur lambda d’Excel n’en est pas conscient…
1 Commentaire(s):
Personnellement, j'ai toujours eu un peu de mal à comprendre le choix de Microsoft d'imposer la valeur "FAUX" du dernier argument pour une recherche "exacte" et VRAI (ou omise) pour une recherche "approchée". Mais bon... c'est juste un ressenti par rapport à une convention.
By cduigou, sur 5:14 PM
Enregistrer un commentaire
<< Accueil