• Temps de lecture :3 mins read

Vous ne possédez pas Microsoft Excel car la suite de la firme de Redmond vous semble exorbitante au niveau des tarifs.

Il existe des solutions alternatives pour faire vos tableaux de recherche.

Parmi les autres solutions, il existe Google Sheets dans laquelle nous pouvons retrouver presque toutes les fonctions d’Excel.

Syntaxe

La fonction XLOOKUP se présente de la manière suivante :

=XLOOKUP(clé_rechercheplage_rechercheplage_résultats[valeur_manquante][mode_correspondance][mode_recherche])

avec :

  • clé_recherche : il s’agit de notre critère de recherche
  • plage_recherche : colonne où se trouve notre clé_recherche
  • plage_résultats : colonne où se trouve notre résultat
  • [valeur_manquante] : comme son nom l’indique, la fonction nous permet d’indiquer ce que l’on souhaite si la clé_recherche n’est pas trouvée dans notre recherche
  • [mode_correspondance] : correspondance avec la valeur cherchée. Mettez 0 pour un correspondance exacte.
  • [mode_recherche] permet de définir comme Sheets va rechercher l’information souhaitée.

Utilisation de XLOOKUP

Passons à la pratique.

J’ai un catalogue de produits.

En fonction du produit que je sélectionne, je veux afficher ses informations.

Recherche à droite

Pour cet exemple, je veux chercher le montant d’un produit.

C’est une recherche simple comme le faisait RECHERCHEV.

  • la clé_recherche correspond au nom de mon produit sélectionné (cellule G1).
  • la plage_recherche correspond à l’emplacement avec tous les noms de produits (C2:C17). 
  • la plage_résultats correspond aux résultats possibles à afficher, donc ma colonne avec tous les montants (D2:D17).

J’obtiens la formule :

=XLOOKUP(G1;C2:C17;D2:D17)
recherche à droite xlookup

Recherche à gauche

Nous ne pouvions rechercher que de gauche à droite avec RECHERCHEV, nous étions obliger d’utiliser une formule avec INDEX et EQUIV pour rechercher une information vers la gauche.

Or, la fonction XLOOKUP permet de rechercher dans « tous les sens », donc vers la gauche.

Reprenons notre exemple, je veux chercher cette fois-ci la référence d’un produit.

  • la clé_recherche correspond au nom de mon produit sélectionné (cellule G1).
  • la plage_recherche correspond à l’emplacement avec tous les noms de produits (C2:C17). 
  • la plage_résultats correspond aux résultats possibles à afficher, donc ma colonne avec toutes les références (A2:A17). 

J’obtiens la formule :

=XLOOKUP(G1;C2:C17;A2:A17)

Argument [valeur_manquante]

Quand on utilisait les fonctions RECHERCHEV ou INDEX+EQUIV, il pouvait arriver qu’il y ait un message d’erreur #N/A car il ne trouve pas de correspondance.

La plupart du temps, cela s’explique par le fait que la clé_recherche n’est pas renseignée.

Pour régler ce problème, il fallait ajouter la fonction SIERREUR à la formule pour lui indiquer quoi afficher si aucune clé_recherche n’est trouvée.

SIERREUR sur Sheets

Avec XLOOKUP, cette fonction est incluse avec l’argument facultatif [valeur_manquante].

Il suffit d’écrire le texte souhaité entre guillemets.

=XLOOKUP(G1;C2:C17;A2:A17;"aucun résultat")

Renvoyer plusieurs données

Nous avons vu jusqu’ici comment renvoyer une donnée en fonction d’une clé_recherche. 

Mais avec XLOOKUP, on peut afficher plusieurs données (plusieurs colonnes de notre base)

Pour cela, on va modifier notre argument plage_résultats pour sélectionner plusieurs colonnes de notre base.

Dans notre exemple, en fonction de la référence, on va chercher les informations du produit:

  • la clé_recherche est la référence du produit contenue dans la cellule G1
  • la plage_recherche correspond à ma colonne avec tous les libellés de produits (C2:C17).
  • la plage_résultats correspond aux colonnes de la base que je veux afficher  (A2:D17).
  • j’indique « produit introuvable » si la référence n’est pas trouvée
=XLOOKUP(G1;C2:C17;A2:D17;"produit introuvable")
Afficher plusieurs infos avec XLOOKUP

Excel va remplir non seulement la cellule G4 mais aussi la colonne H à J car il a récupéré les données des 4 colonnes de ma base.

C’est ce qu’on appelle une formule propagée.