Syntaxe
La fonction RECHERCHEX s’écrit de la façon suivante :
= RECHERCHEX( valeur_cherchée ; tableau_recherche ; tableau_renvoyé ; [si_non_trouvé] ; [mode_correspondance] ; [mode_recherche] )
Cette fonction possède 6 arguments :
valeur cherchée
– Valeur à rechercher. Il peut s’agir d’un texte, d’un nombre, d’une date.tableau recherche
– Sélection de cellules qui contient la valeur cherchée.tableau renvoyé
– Sélection de cellules qui contient la valeur à renvoyer. Les dimensions doivent être identiques au tableau de recherche.[si non trouvé]
– Argument optionnel. Permet d’indiquer une valeur de remplacement si la valeur cherchée n’est pas présente dans le tableau de recherche.[mode correspondance]
– Argument optionnel. Permet d’indiquer à Excel si l’on souhaite faire une recherche exacte ou une recherche approximative.[mode recherche]
– Argument optionnel. On indique à Excel l’ordre de recherche souhaité (ex: de haut en bas, de bas en haut,…).
Utilisation de la fonction RECHERCHEX
Voici comment utiliser la fonction RECHERCHEX sur Excel.
#1 – Sélection de la valeur cherchée et de la colonne (ou ligne) de recherche
Sélectionnez la cellule contenant la valeur cherchée ou saisissez la directement.
= RECHERCHEX( F4 ; ...
= RECHERCHEX( "valeur cherchée" ; ...
Ensuite, sélectionnez la colonne ou la ligne dans laquelle se trouve la valeur cherchée. Il sera parfois intéressant de figer la sélection grâce aux dollars sur Excel.
= RECHERCHEX( F4 ; B4:B11 ; ...
#2 – Sélection de la (ou des) colonne(s) (ou lignes) de résultat
Sélectionnez la ou les colonne(s) à renvoyer. Il s’agit des colonnes contenant les valeurs que vous souhaitez faire apparaître. Les dimensions doivent être identiques à la plage de recherche.
Par exemple, nous avons saisi une colonne de recherche démarrant à la ligne 4 et se terminant à la ligne 11. La ou les colonnes de résultats doit avoir la même étendue.
Une nouvelle fois, il sera important dans certains cas de figer la plage des cellules grâce aux dollars.
= RECHERCHEX( F4 ; B4:B11 ; D4:D11 ; ...
--> Dans ce cas, je veux récupérer uniquement l'information du service.
= RECHERCHEX( F4 ; B4:B11 ; C4:D11 ; ...
--> Ici, je récupère l'information du nom du salarié
et du service. La RECHERCHEX renverra comme résultat
un tableau à 2 colonnes.
#3 – Valeur de remplacement (optionnel)
Dans certains cas, la valeur recherchée sera absente. Vous pouvez alors saisir une valeur de remplacement. Il pourra s’agir d’un texte, d’une valeur vide, d’un nombre, d’une autre formule, de l’appel à une cellule.
= RECHERCHEX( F4 ; B4:B11 ; D4:D11 ; "" ; ...
--> Affiche une cellule vide
= RECHERCHEX( F4 ; B4:B11 ; D4:D11 ; "non trouvé" ; ...
--> Affiche la valeur "non trouvé"
= RECHERCHEX( F4 ; B4:B11 ; D4:D11 ; SI(...) ; ...
--> On renvoie le résultat d'une autre formule
#4 – Recherche exacte ou recherche approximative (optionnel)
Il existe plusieurs modes de recherche. Par défaut, la fonction RECHERCHEX fera une recherche exacte. C’est-à-dire qu’elle cherchera exactement la valeur saisie dans le premier argument.
Elle permet de faire des recherches approximatives. Voici les options :
Mode | Description |
---|---|
0 | Recherche exacte (mode par défaut) |
-1 | Recherche exacte ou de la valeur la plus proche (plus petite) |
1 | Recherche exacte ou de la valeur la plus proche (plus grande) |
2 | Permet l'utilisation des caractères génériques pour faire une recherche partielle (ex: commence par) |
#5 – Mode de recherche (optionnel)
Par défaut, la fonction RECHERCHEX recherchera la valeur de haut en bas (ou de gauche à droite) et s’arrêtera au premier résultat viable. Il est possible de faire une recherche inversée (de bas en haut ou de droite à gauche).
Mode | Fonctionnement |
---|---|
1 | Recherche de haut en bas (ou de gauche à droite) - Mode par défaut |
-1 | Recherche de bas en haut (ou de droite à gauche) |
2 | Mode de recherche de bas en haut accéléré (mode binaire) |
-2 | Mode de recherche de haut en bas accéléré (mode binaire) |
Les modes binaires permettent d’accélérer la formule. Cependant, ils requièrent que le tableau soit trié suivant la colonne de recherche. C’est intéressant si vous avez des centaines de milliers de lignes ou que vous fichier devient trop lourd. Cependant, si vous modifiez l’ordre de tri dans votre tableau, vous vous exposez à des résultats faux.
Les avantages de la fonction RECHERCHEX
La fonction RECHERCHEX est une fonction qui permet de remplacer très facilement la fonction RECHERCHEV, la fonction RECHERCHEH et la fonction RECHERCHE. De plus, elle permet de s’affranchir de certaines limitations bien connues.
- Ordre des colonnes : sur les fonctions RECHERCHEV et RECHERCHEH, la matrice de recherche devait commencer par la colonne ou la ligne dans laquelle se trouvait la valeur cherchée. Il fallait alors passer par une RECHERCHEV inversée.
- Valeur de remplacement (cas des #N/A) : la fonction RECHERCHEX permet la saisie d’une valeur de remplacement si la valeur cherchée est absente. Avec les autres fonctions de recherche il fallait passer pour la fonction SI combinée à la fonction ESTNA ou passer par la fonction SI.NON.DISP.
- Récupérer plusieurs colonnes : la fonction RECHERCHEX permet de récupérer plusieurs colonnes au moment de la recherche. Ça simplifie les cas de fusions de tableaux.
- Préciser l’ordre du tri : sur les autres fonctions de recherche, l’ordre est de bas en haut. La fonction RECHERCHEX permet des tris de bas en haut et de haut en bas.
La fonction RECHERCHEX reprend des fonctionnalités essentielles des fonctions RECHERCHEV et RECHERCHEH grâce notamment à la recherche approximative et aux recherches partielles (ex: recherche une cellule commençant par).
Quelques exemples d’utilisation de la fonction RECHERCHEX Excel
Faire une recherche verticale avec la fonction RECHERCHEX (remplacement RECHERCHEV)
Voici un exemple de remplacement de la fonction RECHERCHEV par la fonction RECHERCHEX. On va faire ici une recherche exacte.
= RECHERCHEX( F4 ; B4:B11 ; D4:D11 ; "" ; 0 ; 1 )
Faire une recherche horizontale avec la fonction RECHERCHEX (remplacement RECHERCHEH)
Ici un exemple de remplacement de la fonction RECHERCHEH par la fonction RECHERCHEX. Il s’agit une nouvelle fois d’une recherche exacte.
= RECHERCHEX( F8 ; C2:J2 ; C4:J4 ; "" ; 0 ; 1 )
Faire une RECHERCHEX avec plusieurs résultats (colonnes)
Pour récupérer plusieurs colonnes, il suffit d’étendre les coordonnées des colonnes de résultats.
= RECHERCHEX( F4 ; B4:B11 ; C4:D11 ; "" ; 0 ; 1 )
--> La matrice des résultats contient
les colones C et D.
Faire une RECHERCHEX avec plusieurs résultats (lignes)
Si votre valeur cherchée est présente à plusieurs reprises dans votre tableau et que vous voulez récupérer les résultats en lien avec celles-ci, le mieux est de ne pas faire de RECHERCHEX.
La meilleure solution sera d’utiliser la fonction FILTRE. Elle permet de récupérer un ou plusieurs résultats à partir des critères indiqués.
= FILTRE( C4:D11 ; B4:B11=F4 )
Faire une RECHERCHEX partielle (RECHERCHEX 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" |
Dans l’exemple ci-dessous, on recherche la matricule de la personne faisant partie du service comptabilité. Nous ne savons plus si le service a été orthographie « Compta » ou « Comptabilité ». De fait, on effectue une recherche partielle.
= RECHERCHEX( "Compta*" ; D4:D11 ; B4:B11 ; "" ; 2 ; 1 )
--> Rechercher une cellule qui commence par "Compta"
Faire une RECHERCHEX avec plusieurs critères
La fonction RECHERCHEX permet de faire des recherches avec plusieurs critères grâce à un argument matriciel.
Un argument matriciel s’écrira de la forme :
(E4:E11="Production")*(D4:D11>2000)
Il s’agit de mettre entre parenthèses une plage de données, un opérateur logique et une valeur. Pour cumuler les critères, il faudra renouveler l’opération plusieurs fois et mettre des astérisques entre chaque bloc.
En tant que premier argument de la fonction RECHERCHEX, il suffit d’indiquer la valeur 1
. Suivez l’exemple ci-dessous et adaptez-le à votre fichier.
= RECHERCHEX( 1 ;
(E4:E11="Production")*(D4:D11>2000) ;
B4:B11 ; "" ; 0 ; 1 )
Croiser deux tableaux Excel avec la fonction RECHERCHEX
Pour croiser deux tableaux comme ceci :
Il faut utiliser la formule suivante dans la cellule D1
de l’onglet résultat et de l’étirer sur toutes les lignes.
= RECHERCHEX( A2; Rému!$A$2:$A$9 ; Rému!$B$2:$B$9 ; 0 ; 0 ; 1 )
Caractéristiques de la fonction RECHERCHEX
- La fonction RECHERCHEX permet de faire des recherches horizontales et verticales.
- La fonction RECHERCHEX permet de choisir l’ordre de recherche.
- La fonction RECHERCHEX permet de faire des recherches exactes, approximatives ou partielles.
- La fonction RECHERCHEX permet de renvoyer plusieurs résultats (en colonnes).
- La fonction RECHERCHEX ne permet pas de renvoyer plusieurs résultats (en lignes). Il faudra se trouver vers la fonction FILTRE.
- La fonction RECHERCHEX supporte plusieurs critères grâce à l’utilisation d’un argument matriciel.
Formules en lien
- RECHERCHEV avec plusieurs critères
- SOMME de RECHERCHEV
- RECHERCHEX plusieurs critères
- RECHERCHEV avec plusieurs résultats
- RECHERCHEV et CONCATENER
- Corriger l’erreur #N/A
- Combiner INDEX et EQUIV
- RECHERCHEV inversé
- Rechercher une valeur dans un tableau