Fonctions de recherche
Définition
Les fonctions de recherche retrouvent une valeur dans une table à partir d'une clé : RECHERCHEX, RECHERCHEV et RECHERCHEH renvoient une valeur associée, EQUIV donne une position et INDEX lit une valeur à une position donnée. RECHERCHEX est la fonction moderne recommandée par Microsoft et largement testée dans MO-211.
Les fonctions de recherche
| Fonction | Syntaxe | Description |
|---|---|---|
| RECHERCHEX (XLOOKUP) | =RECHERCHEX(valeur;tableau_recherche;tableau_renvoye;[si_non_trouve];[mode_correspondance];[mode_recherche]) | Cherche une valeur et renvoie une valeur d'une autre colonne |
| RECHERCHEV (VLOOKUP) | =RECHERCHEV(valeur;table;n_colonne;[valeur_proche]) | Recherche verticale dans la première colonne de la table |
| RECHERCHEH (HLOOKUP) | =RECHERCHEH(valeur;table;n_ligne;[valeur_proche]) | Recherche horizontale dans la première ligne de la table |
| EQUIV (MATCH) | =EQUIV(valeur;plage;[type]) | Renvoie la position d'une valeur dans une plage |
| INDEX | =INDEX(plage;n_ligne;[n_colonne]) | Renvoie la valeur à une position donnée |
RECHERCHEX
RECHERCHEX cherche dans une colonne et renvoie la valeur de la même ligne dans une autre colonne. Elle fait la correspondance exacte par défaut, sait chercher vers la gauche, et accepte un message quand la valeur n'existe pas :
=RECHERCHEX(D2;A2:A10;B2:B10;"Article introuvable")

Le mode correspondance 0 impose l'exact, 1 l'approximatif inférieur, -1 l'approximatif supérieur, et 2 les jokers. Le mode recherche -1 part de la fin. Une recherche sans correspondance renvoie #N/A si le 4e argument est omis.
RECHERCHEV et ses limites
RECHERCHEV cherche dans la première colonne de la table et renvoie une colonne située à droite, numérotée à partir de 1. Elle ne peut pas renvoyer une colonne à gauche de la colonne de recherche, ni chercher sur plusieurs colonnes. Le 4e argument vaut FAUX pour une correspondance exacte, VRAI ou omis pour une correspondance approximative, qui exige une table triée. Dans Microsoft 365, la correspondance exacte est le défaut.
=RECHERCHEV("Martin";A2:B10;2;FAUX)
EQUIV et INDEX
EQUIV renvoie la position d'une valeur dans une plage : =EQUIV("Martin";A2:A10;0) renvoie la ligne relative où se trouve Martin. Le type 0 impose l'exact, 1 la plus grande valeur inférieure ou égale, -1 la plus petite valeur supérieure ou égale. INDEX lit la valeur d'une plage à une position donnée : =INDEX(B2:B10;3) renvoie la 3e valeur de B2:B10. La combinaison INDEX et EQUIV remplace RECHERCHEV quand la valeur à renvoyer se trouve à gauche :
=INDEX(A2:A10;EQUIV("X";B2:B10;0))
Exemple concret
Une table des prix en A2:B3 contient Clavier à 25 et Souris à 12.
=RECHERCHEX("Souris";A2:A3;B2:B3;"Introuvable") renvoie 12
=RECHERCHEX("Clé USB";A2:A3;B2:B3;"Introuvable") renvoie Introuvable
=RECHERCHEV("Clavier";A2:B3;2;FAUX) renvoie 25