Retour aux fonctions

XLOOKUP

Renvoie les valeurs de la plage de résultats en fonction de la position où une correspondance a été trouvée dans la plage de recherche. Si aucune correspondance n'est trouvée, elle renvoie la correspondance la plus proche.

LookupXLOOKUP(search_key, lookup_range, result_range, missing_value, [match_mode], [search_mode])

XLOOKUP (RECHERCHEX dans un Google Sheets en français) cherche une clé dans une plage et renvoie l'élément correspondant d'une autre plage. Contrairement à VLOOKUP, elle se moque de la colonne où se trouve la clé, elle est exacte par défaut, elle peut chercher de bas en haut, et elle vous laisse choisir ce qu'il faut afficher quand rien n'est trouvé. Pour un nouveau classeur, c'est la fonction de recherche à utiliser en premier.

Syntaxe

=XLOOKUP(search_key, lookup_range, result_range, [missing_value], [match_mode], [search_mode])
  • search_key : La valeur à rechercher.
  • lookup_range : La ligne ou la colonne unique dans laquelle chercher.
  • result_range : La ligne ou la colonne dont on renvoie une valeur. Elle doit avoir la même taille que lookup_range.
  • missing_value [Facultatif] : Ce qu'il faut renvoyer quand il n'y a pas de correspondance. Si omis, XLOOKUP renvoie #N/A.
  • match_mode [Facultatif] :
    • 0 correspondance exacte (par défaut)
    • -1 correspondance exacte, ou la valeur immédiatement inférieure
    • 1 correspondance exacte, ou la valeur immédiatement supérieure
    • 2 correspondance avec caractères génériques (* et ?)
  • search_mode [Facultatif] :
    • 1 recherche du premier au dernier (par défaut)
    • -1 recherche du dernier au premier
    • 2 recherche binaire, données triées par ordre croissant
    • -2 recherche binaire, données triées par ordre décroissant

Exemple rapide

Avec les noms de produits en A2:A6 et les prix en C2:C6 :

=XLOOKUP("Agrafeuse", A2:A6, C2:C6, "Introuvable")

Renvoie le prix de l'agrafeuse, ou Introuvable si le produit n'est pas dans la liste. Comme la plage de recherche et la plage de résultat sont séparées, la colonne des prix peut se trouver n'importe où : à gauche des noms, dans une autre feuille ou dans un autre fichier via IMPORTRANGE.

Chercher à gauche, sans compter les colonnes

Avec VLOOKUP, il faut compter les colonnes et la clé doit être à gauche. Avec XLOOKUP, vous désignez directement les colonnes :

=XLOOKUP(E2, B2:B100, A2:A100)

Cette formule cherche la valeur de E2 dans la colonne B et renvoie l'élément correspondant de la colonne A. Insérer ou supprimer des colonnes dans le tableau ne casse pas la formule, car aucun numéro de colonne n'est écrit en dur.

Les modes de correspondance

Correspondance approximative sans tri

La correspondance approximative de VLOOKUP exige des données triées. XLOOKUP avec match_mode à -1 renvoie la valeur immédiatement inférieure sans exiger de tri. Pour un barème d'imposition ou de remises avec les seuils en F2:F6 et les taux en G2:G6 :

=XLOOKUP(B2, F2:F6, G2:G6, , -1)

Si le montant est 8 500 et que les seuils sont 0, 5 000 et 10 000, la formule renvoie le taux de la tranche à 5 000. Remarquez le quatrième argument laissé vide, qui saute missing_value.

Caractères génériques

Utilisez match_mode à 2 pour une correspondance partielle sur du texte :

=XLOOKUP("*" & E2 & "*", A2:A100, B2:B100, "Aucune correspondance", 2)

Cette formule renvoie la première ligne dont le nom contient le texte de E2.

Chercher depuis le bas : la dernière entrée

Quand une clé apparaît plusieurs fois, XLOOKUP renvoie par défaut la première correspondance. Passez search_mode à -1 pour partir du bas et obtenir l'entrée la plus récente d'un journal :

=XLOOKUP(E2, A2:A1000, C2:C1000, "Aucune", 0, -1)

C'est une façon courante d'obtenir la dernière commande d'un client ou le dernier prix enregistré.

Renvoyer plusieurs colonnes d'un coup

Si la plage de résultat compte plusieurs colonnes, XLOOKUP renvoie toute la portion de ligne correspondante et la déverse sur plusieurs cellules :

=XLOOKUP(E2, A2:A100, B2:D100)

Cette formule renvoie les valeurs de B, C et D de la ligne correspondante, en une seule formule.

Deux critères

Pour faire correspondre deux colonnes, par exemple le nom et le mois, combinez-les dans la recherche :

=XLOOKUP(E2 & F2, ARRAYFORMULA(A2:A100 & B2:B100), C2:C100, "Introuvable")

Erreurs courantes

  • #N/A. Pas de correspondance, et aucun missing_value fourni. Vérifiez les espaces superflus (utilisez TRIM) et les différences de type texte/nombre, comme "1001" face à 1001. Ou indiquez un missing_value.
  • #VALUE!. lookup_range et result_range n'ont pas la même taille, ou vous avez passé une plage de recherche à deux dimensions. Chacune doit être une seule ligne ou une seule colonne, de même longueur.
  • Mauvaise ligne renvoyée. Clés en double : XLOOKUP renvoie la première correspondance, sauf si vous passez search_mode à -1.

XLOOKUP, VLOOKUP ou INDEX/MATCH ?

  • Direction : XLOOKUP et INDEX/MATCH cherchent à gauche comme à droite. VLOOKUP ne cherche que vers la droite.
  • Correspondance par défaut : XLOOKUP et INDEX/MATCH sont exacts. VLOOKUP est approximatif, sauf si vous passez FALSE.
  • Introuvable : XLOOKUP a un missing_value intégré. Les autres nécessitent IFERROR.
  • Changements de colonnes : XLOOKUP référence directement les colonnes, donc l'insertion de colonnes est sans danger.
  • Compatibilité : si un fichier doit aussi être ouvert dans d'anciens outils, VLOOKUP et INDEX/MATCH sont les plus largement pris en charge.

Pour une comparaison plus détaillée, lisez XLOOKUP vs INDEX-MATCH dans Google Sheets en 2026.

Exemple vidéo

Questions fréquentes

XLOOKUP tient-elle compte de la casse ? Non. Pour une recherche sensible à la casse, combinez INDEX, MATCH et EXACT.

Peut-on renvoyer une ligne ou un tableau entier ? Oui, il suffit que result_range compte plusieurs colonnes. Pour obtenir toutes les correspondances, et pas seulement la première, utilisez FILTER.

XLOOKUP fonctionne-t-elle avec ARRAYFORMULA ? Oui. Écrivez ARRAYFORMULA(XLOOKUP(E2:E, ...)) pour remplir une colonne, même si une XLOOKUP qui se déverse sur une plage n'en a souvent pas besoin.

Fonctions associées

  • VLOOKUP : La recherche verticale classique que XLOOKUP remplace.
  • HLOOKUP : Recherche horizontale sur la ligne du haut.
  • INDEX : Renvoie le contenu d'une cellule à partir d'un décalage de ligne et de colonne.
  • MATCH : Renvoie la position relative d'un élément dans une plage.
  • FILTER : Renvoie toutes les lignes qui remplissent une condition, pas seulement la première.

Articles associés

Newsletter

Plus d'exemples sur XLOOKUP arrivent bientôt.

Nous préparons des mises à jour courtes et pratiques pour les utilisateurs avancés de Sheets.