Syntaxe
La fonction RECHERCHEV s’écrit de la façon suivante :
= RECHERCHEV( valeur_cherchée ; matrice ; index_col ; [valeur_proche] )
Cette fonction possède quatre arguments :
valeur cherchée
– Valeur à rechercher dans la première colonne de la matrice.matrice
– Sélection de cellules. Elle doit démarrer par la colonne où se situe la valeur cherchée et se terminer a minima au niveau de la colonne où est le résultat à renvoyer.index de colonne
– Le numéro de la colonne où se situe le résultat à renvoyer par rapport à la matrice sélectionnée.valeur proche
– VRAI = valeur approximative / FAUX = valeur exacte.
La fonction RECHERCHEV est une fonction permettant de récupérer des valeurs dans une plage de données grâce à une autre valeur connue située à sa gauche.
Selon la taille de votre classeur Excel et du nombre de lignes qui y sont présentes, effectuer une recherche manuellement pourrait être très long et pénible. C’est pourquoi, utiliser la fonction RECHERCHEV sur Excel est essentiel.
Cette fonction permet de faire des recherches approximatives ou exactes ainsi que des recherches partielles (ex: qui contient « texte »).
Il est également possible de cumuler plusieurs critères de recherche.
= RECHERCHEV( F4 ; B4:D11 ; 3 ; FAUX )
Comment faire un RECHERCHEV sur Excel ?
Voici comment utiliser simplement la RECHERCHEV. Le fichier Excel est téléchargeable.
#1 – Définir la matrice de recherche
Le plus important à comprendre est que la fonction RECHERCHEV va rechercher la valeur que vous lui indiquez dans la première colonne de votre matrice. Assurez-vous que le tableau contienne en première colonne la valeur cherchée.
Si ce n’est pas le cas, si votre colonne de recherche se situe au milieu de votre tableau. Ce n’est pas grave tant que votre colonne de résultat se situe à sa droite. Nous viendrons sélectionner une matrice allant de la colonne E à la colonne G.
Si malgré tout votre colonne de résultats se trouve avant la colonne de recherche, vous pouvez déplacer vos colonnes ou vous orienter vers une RECHERCHEV inversée grâce à la fonction RECHERCHEX ou à la solution INDEX EQUIV.
#2 – Sélectionner la valeur cherchée
Sélectionnez la valeur cherchée. Elle peut être contenue dans une cellule (comme dans l’exemple), être saisie directement dans la formule ou être le résultat d’une autre formule.
= RECHERCHEV( I4 ... --> valeur contenue dans la cellule
= RECHERCHEV( 12130 ... --> valeur saisie
= RECHERCHEV( SI(...) ... --> résultat d'une autre formule
#3 – Sélectionner la matrice
À présent, sélectionnez la matrice. Il s’agit de la plage des données qui commence au niveau de la colonne de recherche et qui se termine a minima à la colonne des résultats.
Il sera parfois important de « figer la matrice ». Pour cela, je vous renvoie vers l’article sur l’utilisation des dollars dans Excel. Ce sera le cas lorsque vous voudrez étirer votre formule sur plusieurs lignes tout en gardant la même matrice.
= RECHERCHEV( I4 ; $B$4:$G$11 ; ...
#4 – Indiquer le numéro de la colonne de la valeur à récupérer
Indiquez dans quelle colonne de votre matrice se situe le résultat que vous voulez récupérer. Vous devez indiquer le numéro de la colonne par rapport à la matrice sélectionnée (dans notre exemple c’est la colonne 6).
= RECHERCHEV( I4 ; $B$4:$G$11 ; 6 ; ... )
#5 – Recherche approximative ou recherche exacte
La fonction RECHERCHEV vous permet de faire des recherches exactes ou des recherches approximatives. Pour cela vous devez saisir :
- FAUX ou 0 pour une recherche exacte
- VRAI ou 1 ou omettre l’argument pour une recherche approximative
Par principe, les approximations d’Excel ne sont pas vos approximations. Je vous conseille d’indiquer FAUX ou 0 à chaque fois.
= RECHERCHEV( I4 ; $B$4:$G$11 ; 6 ; FAUX )
Quelques exemples d’utilisation de la fonction RECHERCHEV Excel
Faire une RECHERCHEV entre 2 feuilles
Pour faire une RECHERCHEV avec 2 feuilles, il suffit de préciser les coordonnées dans la formule ou, plus simplement, de sélectionner la matrice correspondante au moment de la saisie de la formule.
= RECHERCHEV( I4 ; Synthese!$B$4:$G$11 ; 6 ; FAUX )
Faire une RECHERCHEV dans un autre classeur
De la même façon, il est possible de faire une RECHERCHEV à partir d’une matrice située dans un autre classeur. Vous pouvez indiquer le nom du document entre crochets s’il est ouvert sur votre poste ou sélectionner la matrice dans le document avec votre souris au moment de la saisie.
= RECHERCHEV( I4 ; [nom_du_classeur]Synthese!$B$4:$G$11 ; 6 ; FAUX )
À la prochaine ouverte de votre classeur, le nom du document sera remplacé par le chemin vers celui-ci et Excel vous proposera de mettre à jour les liens. Comprenez qu’il veut actualiser les données.
Faire une RECHERCHEV dans un classeur entier
Si vous voulez faire une RECHERCHEV dans plusieurs matrices, la solution la plus simple est de cumuler les RECHERCHEV en les liant par des &
.
= RECHERCHEV( I4 ; 'Onglet 1'!$B$4:$G$11 ; 6 ; FAUX )
& RECHERCHEV( I4 ; 'Onglet 2'!$B$4:$G$11 ; 6 ; FAUX )
& RECHERCHEV( I4 ; 'Onglet 3'!$B$4:$G$11 ; 6 ; FAUX )
& RECHERCHEV( I4 ; 'Onglet 4'!$B$4:$G$11 ; 6 ; FAUX )
Faire une RECHERCHEV partielle (RECHERCHEV contient)
Dans le cas où vous voudriez rechercher une valeur non exacte comme une cellule qui contient « Production », nous allons pouvoir nous servir des caractères génériques.
Les caractères génériques sont : *
, ?
, ~
.
Le tableau suivant résume leurs utilisations respectives.
Formule | Signification | Exemple |
---|---|---|
* | Chaîne de caractères | "abc", "a", "aaaaaa" |
? | Un caractère | "a", "B" |
??? | Trois caractères | "aBC", "AAA" |
*euros | Se terminant par euros | "4 euros" |
Bureau* | Commençant par | "Bureau d'études" |
?* | Au moins un caractère | "A", "AAA" |
salari?s | Un caractère remplacé | "salaries", "salariés" |
?????-????? | 5 caractères + tirets + 5 caractères | AB123-BC456 |
*~? | Se terminant par ? | "ça va ?" |
*prod* | Contient "prod" | "Service production" |
= RECHERCHEV( "Prod*" ; $B$4:$G$11 ; 6 ; FAUX )
--> Rechercher une cellule qui commence par "Prod"
A noter que les caractères génériques fonctionnent avec du texte. Pour les nombres, il faudra trouver d’autres solutions.
Faire une RECHERCHEV avec plusieurs critères
Si vous voulez faire une RECHERCHEV conditionnelle ou indiquer plusieurs critères, il faudra vous orienter vers d’autres solutions.
Suivant les cas, les solutions les plus intéressantes sont d’utiliser :
- la fonction CONCATENER
- la fonction SOMME.SI.ENS
- la fonction INDEX et la fonction EQUIV
- la fonction SOMMEPROD
Vous trouverez le détail de la mise en œuvre de ces solutions dans l’article dédié à la RECHERCHEV avec plusieurs critères. En voici un aperçu succinct.
--- Solution CONCATENER ---
= RECHERCHEV( A2 & B2 ; $B$4:$G$11 ; 6 ; FAUX )
--> On crée une colonne qui concatène les valeurs des
colonnes A et B et on recherche la concaténation des 2.
--- Solution SOMME.SI.ENS ---
=SOMME.SI.ENS( somme de plage ; plage date ;
">=01/01/2022" ; plage date ; "<= 31/12/2022")
--> Lorsqu'on recherche une valeur numérique,
autant se servir de la fonction SOMME.SI.ENS
--- Solution INDEX et EQUIV ---
=EQUIV( colonne valeur à récupérer ;
EQUIV( 1 ; (plage critère 1 = critère 1) *
(plage critère 2 = critère 2) ; 0 ) ; 1 )
--> Il s'agit ici de mettre un argument matriciel dans la fonction EQUIV
--- Solution SOMME.PROD ---
=SOMMEPROD((plage critère 1 = critère 1) *
(plage critère 2 = critère 2) *
(plage valeur à récupérer))
--> Utilisation d'une fonction matricielle
Croiser deux tableaux Excel avec la fonction RECHERCHEV
Pour croiser deux tableaux Excel grâce à la fonction RECHERCHEV de la façon suivante :
Il suffit alors d’utiliser une formule de la forme suivante dans la cellule D1
de l’onglet résultat et de l’étirer sur toutes les lignes.
= RECHERCHEV( A2 ; Onglet_rému!$A$2:$B$9 ; 2 ;FAUX )
En ce qui concerne les colonnes Salarié
et Service
de l’onglet services
, je vous conseille une solution de RECHERCHEV bidirectionnelle.
Faire une RECHERCHEV bidirectionnelle
En reprenant notre exemple précédent, si nous voulons ramener plusieurs colonnes à la fois, il est dommage de changer notre formule uniquement pour changer le numéro de la colonne à ramener. Pour cela, nous allons nous servir de la fonction EQUIV.
La fonction EQUIV permet de récupérer la position d’une valeur dans une matrice verticale ou horizontale. Il s’agit ici de trouver dans quelle colonne de la matrice se trouve l’entête de colonne. La formule sera la suivante dans la cellule B2
de l’onglet résultat
:
= RECHERCHEV( $A2; Services!$A$2:$C$9;
EQUIV( C$1; Services!$A$1:$C$1; 0 );FAUX )
Caractéristiques de la fonction RECHERCHEV
- La fonction RECHERCHEV renvoie le résultat lié à la première occurence trouvée.
- Par défaut, la RECHERCHEV est approximative. Pour une recherche exacte, il faut utiliser l’argument
FAUX
. - La fonction RECHERCHEV n’est pas sensible à la casse. C’est-à-dire que « Production » et « production » sont identiques.
- Si l’erreur #NOM est renvoyée, vous avez mal saisi le nom de la fonction.
- Si l’erreur #N/A est renvoyée, c’est que la valeur recherchée n’est pas présente dans la première colonne. Pour neutraliser le #N/A, vous pouvez utiliser la fonction SI.NON.DISP ou la fonction SI couplée à la fonction ESTNA. Attention, il peut s’agir d’un problème de figeage de votre matrice avec les dollars.
- Si l’erreur #REF est renvoyée, les sources des données ont été supprimées. Il faut les saisir à nouveau.
Formules en lien
- RECHERCHEV avec plusieurs critères
- RECHERCHEV dans une autre feuille
- SOMME de RECHERCHEV
- RECHERCHEX plusieurs critères
- RECHERCHEV avec plusieurs résultats
- RECHERCHEV et CONCATENER
- Corriger l’erreur #N/A
- RECHERCHEV inversé
- Si RECHERCHEV est vrai alors
- Si erreur RECHERCHEV
- SI ESTNA RECHERCHEV
- RECHERCHEV dans 2 feuilles
- Identifier des doublons avec RECHERCHEV
- Rechercher une valeur dans un tableau
- RECHERCHEV sensible à la casse