Vous souhaitez récupérer les données d’un tableau source vers un tableau cible ? La référence ne se trouve pas tout à gauche ?

Parfois lorsque l’on veut récupérer une donnée d’un tableau les RechercheV et RechercheH ne sont pas suffisants. La RechercheX, complémentaire, permet des  recherches plus poussées, toujours aussi facilement.

Définition de la fonction RECHERCHEX (XLOOKUP)

La fonction RECHERCHEX (XLOOKUP en anglais), (accessible sur Microsoft 365 et Excel 2021 et plus) permet de rapatrier des données d’un tableau source à un tableau cible :

  • quelque soit la place de la référence à rechercher : elle n’a pas besoin d’être tout à gauche.
  • de plusieurs colonnes contigües.
  • en proposant une alternative si la valeur n’est pas trouvée
  • et bien d’autres options

La fonction se présente ainsi :

=RECHERCHEX(valeur_recherchée ; tableau_recherche ; tableau_renvoyé ;  [si_non_trouvé] ; [mode_correspondance] ; [mode_recherche])

Valeur recherchée

Valeur (dans le tableau cible) dont vous souhaitez trouver la correspondance.

Tableau de recherche

Colonne (dans le tableau source) contenant la donnée recherchée.

A noter : La table source peut être n’importe où dans le tableau et pas forcément à gauche des données à rapatrier.

Tableau renvoyé

Colonne contenant les données à rapatrier. Il est possible de récupérer les données de plusieurs colonnes contigües.

Si non trouvé

Valeur facultative. Si la valeur recherchée ne se trouve pas dans le tableau de recherche, vous pouvez afficher une valeur, un mot encadré par des “” (ex : “Non OK”) voire même une fonction : plus besoin d’utiliser une fonction type SIERREUR !

Mode correspondance

Valeur facultative. Choix de la correspondance de la valeur recherchée :

  • Correspondance exacte
  • Correspondance exacte ou élément inférieur suivant
  • Correspondance extacte ou élement supérieur suivant
  • Correspondance de caractère générique

Mode recherche

Valeur facultative. Cet argument permet de choisir un mode de recherche inverse ou autre :

  • Recherche du premier au dernier
  • Recherche du dernier au premier
  • Recherche binaire (tri croissant)
  • Recherche binaire (tri décroissant)

Pour faire afficher le champ Mode recherche, descendez l’ascenseur de droite.

Mise en application

A partir du tableau suivant (tableau source), nous allons rapatrier des données dans un autre tableau.

Recherche d’une valeur

Dans le tableau ci-dessous, nous souhaitons rapatrier la référence des articles.

Pour la 1ère ligne (ligne 11), avec la fonction RECHERCHEX, nous cherchons “Article 6” (A11, du tableau cible); dans la colonne où il se trouve dans le tableau de référence (G1:G7, du tableau source) pour rapatrier la référence (A1:A7, du tableau source). Si la valeur recherchée n’est pas trouvée, alors le résultat affiche “Pas dans le catalogue”.

Nous obtenons la formule

=RECHERCHEX($A11;$G$1:$G$7;$A$1:$A$7;”Pas dans catalogue”)

Les symboles $ permettent de figer les colonnes et/ou lignes. Cela permet de dupliquer la formule dans différentes cellules.

Recherche de plusieurs valeurs

Désormais nous souhaitons rapatrier les données correspondant aux jours de la semaine.

Pour ce faire, pour la 1ère ligne (ligne 11), nous cherchons “Article 6” (A11, du tableau cible); dans la colonne où il se trouve dans le tableau de référence (G1:G7, du tableau source) pour rapatrier les données des jours de la semaine (B1:F7, du tableau source). Si la valeur recherchée n’est pas trouvée, alors le résultat affiche rien (“”).

Nous obtenons la formule

=RECHERCHEX($A11;$G$1:$G$7;$B$1:$F$7;””)

A noter : la formule est saisie dans la première colonne et les résultats se propagent dans les autres colonnes. Ces dernières doivent être vides sinon cela bloque la propagation.