RECHERCHEV (Recherche Verticale) fait partie des fonctions Excel de la catégorie « Recherche et Référence ».
On l’utilise dans le but de rechercher une valeur dans une colonne pour obtenir une autre valeur de la même ligne située dans une autre colonne. Autrement dit, on recherche une donnée dans un tableau en fonction d’une autre donnée sur la même ligne.
Puisque cette fonction n’est pas si intuitive au début, j’ai décidé de rédiger cet article sous forme de tutoriel pour vous aider à la prendre en main à travers des exemples d’utilisation simples.
Par ailleurs, je n’utilise que très rarement la fonction RECHERCHEV de mon côté. Je recommande d’utiliser le combo INDEX + EQUIV pour effectuer des recherches dynamiques au sein de vos tableaux de données.
- 1 Pourquoi Utiliser RECHERCHEV ?
- 2 Comment Utiliser RECHERCHEV ?
- 3 RECHERCHEV Renvoie une Erreur : Raisons Possibles
-
4
RECHERCHEV : Points d’Attention
- 4.1 RECHERCHEV Recherche par Défaut une Correspondance Approximative
- 4.2 Lors d’une Recherche Approximative, la Matrice Doit Être Triée
- 4.3 RECHERCHEV Recherche sur la Droite de la Matrice
- 4.4 RECHERCHEV Retourne la Première Correspondance Uniquement
- 4.5 RECHERCHEV est Insensible à la Casse
- 4.6 Attention au Numéro de Colonne Lors de Modification
Pourquoi Utiliser RECHERCHEV ?
Selon la description disponible dans Excel : la fonction RECHERCHEV (VLOOKUP en anglais) permet d’effectuer « une recherche dans la première colonne d’une matrice et se déplace sur la ligne pour renvoyer la valeur d’une cellule. »
Un exemple étant toujours plus parlant, prenons la table (matrice) ci-dessous pour exemple :
Il s’agit de données fictives correspondant à un inventaire. Nous avons ici 5 colonnes, un index unique, un nom d’article unique, une quantité, un prix et une date d’expiration pour chacun de ces articles.
Utiliser RECHERCHEV dans cette Matrice reviendrait à dire : « Je souhaite obtenir le nom de l’article qui correspond à l’index X de la première colonne« . On peut également chercher la quantité, le prix ou la date d’expiration qui correspondent à cet index. De même que l’on peut obtenir ces informations en partant du nom de l’article plutôt que de l’index.
De manière générale, il reste préférable d’utiliser cette fonction dans une colonne qui ne contient que des valeurs uniques, puisque la fonction ne retournera que le résultat pour la ligne de la première occurence de la valeur cherchée.
En outre, notre exemple reste simpliste avec peu de données mais la fonction dévoilera bien sûr toute sa force dans un jeu de données de plusieurs milliers de lignes.
Comment Utiliser RECHERCHEV ?
Sous Excel, la fonction et ses arguments se présentent sous la forme suivante :
RECHERCHEV(valeur_cherchée; table_matrice; no_index_col; [valeur_proche])
- Valeur cherchée : « est la valeur à trouver dans la premiere colonne du tableau et peut être une référence, une valeur ou une chaîne textuelle« .
- Table Matrice : « est un tableau de texte, nombres ou valeurs logiques à partir duquel les données sont récupérées. L’argument table_matrice peut être une plage de cellules ou le nom d’une plage« .
- Index Colonne : « est le numéro de la colonne de l’argument table_matrice dont la valeur correspondante est renvoyée. La première colonne de valeurs dans le tableau est la colonne 1 ».
- Valeur Proche [Optionnel] : « est une valeur logique: pour trouver la valeur la plus proche dans la première colonne (triée par ordre croissant) = VRAI ou omis; pour trouver la correspondance exacte = FAUX ».
En suivant la syntaxe de la fonction, illustrons les arguments un à un en gardant la Matrice présentée précedemment. Nous allons nous baser sur la première colonne « Index » pour obtenir le nom de l’article qui se trouve dans la deuxième colonne.
La Valeur Cherchée
Commençons par le premier argument « Valeur cherchée », nous pouvons passer directement en argument de la fonction la valeur elle-même ou une référence.
Ici, nous allons faire référence à la cellule I7, dans laquelle nous indiquerons la Valeur à chercher, cela nous évite d’aller directement modifier la formule si l’on souhaite changer notre recherche.
Dans la cellule I7, nous allons donc indiquer la Valeur 5.
Et commencer notre formule par :
=RECHERCHEV($I$7;
La Table Matrice
Maintenant, il nous faut fournir le second argument qui correspond à la plage de cellules de notre Matrice, celle-ci s’étend de B6 à F24, c’est donc cette plage que nous allons fournir à la fonction.
=RECHERCHEV($I$7; $B$6:$F$24;
L’Index Colonne
Le troisième argument de la fonction est le numéro de la colonne pour laquelle nous souhaitons obtenir le résultat.
Dans notre Matrice, il existe 5 colonnes: Index (1), Article (2), Quantité (3), Prix (4) et Date Expiration (5). Comme nous souhaitons obtenir le nom de l’Article correspondant à la valeur cherchée, nous allons donc indiquer la colonne 2.
=RECHERCHEV($I$7; $B$6:$F$24; 2;
L’Argument Optionnel Valeur Proche
Pour notre exemple, nous souhaitons obtenir exactement la correspondance avec la valeur cherchée fournie, nous allons donc finalement indiquer à la fonction que nous ne souhaitons pas obtenir une valeur proche.
=RECHERCHEV($I$7; $B$6:$F$24; 2; FAUX)
Validons la fonction, et nous obtenons le résultat attendu !
Essayons maintenant de modifier la valeur de notre cellule I7 qui est passée en argument de « Valeur Cherchée ». Modifions cette valeur à 20, qui est inexistante dans notre Matrice.
La fonction nous renvoie une erreur « #N/A » car nous cherchons une valeur exacte – Voir plus bas pour les différents type d’erreurs et leurs raisons.
Mais si nous modifions l’argument optionnel pour indiquer que nous cherchons une valeur proche :
=RECHERCHEV($I$7; $B$6:$F$24; 2; VRAI)
Notre colonne « Index » étant correctement triée par ordre croissant, alors la fonction cherchera la Valeur maximale qui est inférieure à notre « Valeur cherchée ». Il s’agit ici de 18, nous aurons donc le résultat correspondant.
RECHERCHEV avec WildCard *
Modifions maintenant légèrement la fonction définie précedemment.
Plutôt que de chercher par « Index », nous voulons chercher par « Nom d’article », qui sera toujours fourni dans la cellule I7.
Mais pour cela nous devons modifier la Plage de cellules passée dans l’argument « Table Matrice » afin de faire correspondre la première colonne à la colonne « Article »:
Nous réduisons donc la plage de cellules de $B$6:$F$24 à $C$6:$F$24
=RECHERCHEV($I$7; $C$6:$F$24; 1; FAUX)
Pour l’exemple, nous souhaitons toujours obtenir le nom de l’article en correspondance exacte.
Mais cette fois ci, nous allons utiliser le caractère WildCard (*) qui permet de remplacer un ou plusieurs caractères (Tandis que le caractère (?) nous permet de remplacer un seul caractère).
Indiquons donc « M* » dans notre cellule I7 :
La fonction nous retourne la première correspondance exacte qui correspond à « M* » dans notre colonne « Article » : il s’agit de « Miel ».
RECHERCHEV sur Plusieurs Colonnes
Pour finir, toujours avec le dernier exemple sur lequel nous recherchions une correspondance exacte pour l’article « M* », nous pouvons étendre les résultats souhaités à d’autres colonnes pour également obtenir « Quantité », « Prix » et « Date Expiration » en changeant simplement l’argument de l' »Index Colonne ».
Note : La Plage de cellules de notre « Table Matrice » ayant été modifiée à $C$6:$F$24, nous avons maintenant « Article » (1) en première colonne puis « Quantité » (2), « Prix » (3) et « Date Expiration » (4).
=RECHERCHEV($I$7; $C$6:$F$24; 1; FAUX)
=RECHERCHEV($I$7; $C$6:$F$24; 2; FAUX)
=RECHERCHEV($I$7; $C$6:$F$24; 3; FAUX)
=RECHERCHEV($I$7; $C$6:$F$24; 4; FAUX)
RECHERCHEV Renvoie une Erreur : Raisons Possibles
Lors de l’utilisation de la fonction RECHERCHEV, celle-ci peut retourner une erreur dont la raison peut être difficile à identifier.
Prenons l’exemple ci-dessous pour illustrer différents cas :
Nous disposons d’une simple Matrice à deux colonnes qui lie un « Code » à un nom de « Ville » dans la plage de cellules de B30 à C36. Les formules utilisées de F33 à F44 sont indiquées dans la colonne H pour la ligne correspondante.
La colonne « Code » de notre Matrice utilise des codes similaires aux références de cellules Excel.
Comme indiqué dans le « Gestionnaire de noms », nous avons nommé la cellule F31 en tant que « CelluleF31 », nous pouvons donc faire référence à cette cellule en utilisant soit son adresse initiale F31, soit le nom que nous lui avons attribué: « CelluleF31 ».
Dans la cellule F31 nous avons indiqué une Valeur correspondant à l’un des codes de notre Matrice.
Dans chacun des exemples, nous utilisons la Matrice qui s’étale sur la plage de cellules B30 à C36, dans laquelle nous souhaitons obtenir la « Ville » correspondante, donc colonne 2.
Les exemples 1, 2, 3, 4 et 11 retournent un résultat sans erreur.
Pour l’exemple 1, nous utilisons une référence à la cellule F31 (En jaune) pour fournir la « valeur cherchée » (12B14) dans notre Matrice, avec l’option « Valeur proche » à FAUX (0). Le résultat retourné est « Rome ». La valeur de la cellule F31 est donc le paramètre de recherche utilisé.
Pour l’exemple 2, nous utilisons une référence à la cellule F31 (En jaune) indirectement à travers le nom attribué dans le Gestionnaire de nom, « CelluleF31 », pour fournir la « valeur cherchée » (12B14) dans notre Matrice, avec l’option « Valeur proche » à FAUX (0). Le résultat retourné est « Rome ». La valeur de la cellule F31 est donc à nouveau le paramètre de recherche utilisé.
Pour l’exemple 3, nous fournissons directement sous forme textuelle la « valeur cherchée » (« 12B14 ») dans notre Matrice, avec l’option « Valeur proche » à FAUX (0). Le résultat retourné est « Rome ». Ici c’est directement une chaîne textuelle qui est utilisée – avec des guillemets ! Si on avait recherché 12B14 sans guillemets alors une erreur « #NOM? » nous aurait été retournée (voir plus bas Exemple 5).
Pour l’exemple 4, nous fournissons directement sous forme textuelle la « valeur cherchée » (F31) dans notre Matrice, avec l’option « Valeur proche » à FAUX (0). Le résultat retourné est « New York ». Ici c’est directement une chaîne textuelle qui est aussi utilisée. Cet exemple illustre l’opposition avec l’exemple 1 – puisque F31 est à la fois une cellule Excel mais aussi un « Code » de notre Matrice, ce sont donc les guillemets qui font toute la différence!
Nous aborderons l’exemple 11 plus bas en résolution de l’exemple 10.
RECHERCHEV Renvoie #NOM? (Exemple 5)
Lorsque le résultat de la RECHERCHEV renvoie l’erreur « #NOM? », il est possible que le premier argument passé dans la fonction (« Valeur Cherchée ») soit incorrect. Si vous souhaitez rechercher une chaîne de caractères, il ne faut pas omettre les guillemets, sinon, Excel considérera cela comme étant une référence à une cellule ou plage de cellules nommée via le Gestionnaire de Nom – si celle-ci n’existe pas, alors l’erreur « #NOM? » nous est retournée.
Ainsi, dans l’exemple 5, nous avons passé l’argument « CelluleF32 » comme valeur cherchée dans notre Matrice, la fonction nous renvoie une erreur #NOM?
En effet contrairement à l’exemple 2, le nom « CelluleF32 » n’est pas défini dans le Gestionnaire de nom et il ne correspond également pas à une référence de cellule Excel.
Attention à ne pas entrer de chaîne textuelle en argument de la Valeur Cherchée sans guillemets donc.
RECHERCHEV Donne #N/A (Exemples 6, 7 et 10)
RECHERCHEV renverra une erreur « #N/A » dans les cas suivants :
- Si « Valeur Proche » est VRAI (ou 1) et que la « Valeur Cherchée » est inférieure à la plus petite valeur dans la première colonne de la Matrice. (Exemple 7)
- Si « Valeur Proche » est FAUX (ou 0) et qu’il n’existe aucune correspondance exacte dans la première colonne de la Matrice. (Exemple 6 et 10)
Commencons par l’Exemple 6, l’argument pour la « Valeur Cherchée » est F32 sans guillements, donc une référence à la Cellule F32. Celle-ci est vide, nous cherchons donc la correspondance exacte de « » dans notre Matrice. Ce code n’existe pas dans la première colonne, d’où une erreur « #N/A ».
Pour l’Exemple 7, nous cherchons « 1A », qui n’existe pas non plus dans notre Matrice, en revanche nous avons passé l’argument « Valeur Proche » en tant que VRAI, la fonction va donc chercher une « Valeur Proche » dans la Matrice (qu’il est recommandé de trier pour utiliser cet argument « Valeur Proche« ) – La plus petite valeur étant censée être celle de la première ligne dans une Matrice triée, alors la fonction va comparer « Z32 » à notre « Valeur cherchée » « 1A » et se rendre compte qu’elle est supérieure et ainsi renvoyer l’erreur #N/A.
Finalement l’exemple 10 (et la ligne du dessous) concerne une erreur invisible visuellement, nous recherchons une correspondance exacte avec l’argument « Valeur cherchée » « R136 » qui semble pourtant bien apparaître dans notre Matrice, mais la fonction retourne l’erreur « #N/A ». En regardant de plus prêt, on se rend compte qu’en réalité, notre Matrice contient en réalité le code « R136 » avec un espace. Comme démontré dans l’exemple 11, l’utilisation de « R136 » nous renverra bien le résultat attendu : « Moscou ».
RECHERCHEV Erreur #REF! (Exemple 8)
L’erreur « #REF! » sera uniquement renvoyée si l’argument « Index Colonne« que nous avons fourni est supérieur au nombre de colonne de notre Matrice.
Dans l’exemple 8, nous demandons la valeur de la colonne 5, alors que notre Matrice n’a que 2 colonnes…
RECHERCHEV Retourne #VALEUR! (Exemple 9)
L’erreur « #VALEUR! » sera renvoyée si l’argument « Index Colonne« que nous avons fourni est inférieur à 1 – puisqu’aucune colonne ne correspond à 0 ou un nombre négatif comme illustré par l’exemple 9.
Il est également possible d’obtenir l’erreur « #VALEUR! » si l’argument « Valeur cherchée« dépasse les 255 caractères.
RECHERCHEV : Points d’Attention
RECHERCHEV Recherche par Défaut une Correspondance Approximative
Si l’argument optionnel « Valeur Proche » n’est pas indiqué, alors par défaut, Excel considerera valeur proche comme VRAI.
Lors d’une Recherche Approximative, la Matrice Doit Être Triée
Il est recommandé de trier par ordre croissant la première colonne de la Matrice dans laquelle nous recherchons une valeur lors d’un recherche approximative, car la fonction s’arrêtera lorsqu’elle trouvera une valeur supérieure à la « valeur cherchée » et renverra la ligne précédente comme résultat.
RECHERCHEV Recherche sur la Droite de la Matrice
La fonction recherchera uniquement sur la droite de la matrice. Comme nous l’avons abordé dans les erreurs, il n’est pas possible de passer en argument « Index colonne » un Index négatif pour rechercher sur la gauche de la Matrice.
RECHERCHEV Retourne la Première Correspondance Uniquement
La fonction RechercheV ne renvoie qu’un seul résultat. Ainsi, si il existe effectivement 2 valeurs identiques dans notre colonne de recherche, seulement la première occurence sera considérée !
RECHERCHEV est Insensible à la Casse
La valeur recherchée n’est pas sensible à la casse (Majuscules et Minuscules), ainsi rechercher « BANANES » ou « bananes » renverra le même résultat!
Attention au Numéro de Colonne Lors de Modification
L’un des inconvénients de la fonction RechercheV est lié au troisième argument « Index Colonne ». En effet celui ci est indiqué directement à l’intérieur de la formule et n’est pas automatiquement mis à jour comme le serait une référence.
Ainsi, il faut faire attention notamment lors de l’ajout ou de la suppression de colonne à l’intérieur de notre plage de cellule passée en argument « Table Matrice » – puisque la référence à cette dernière sera mise à jour tandis que l' »index colonne » ne le sera pas !