Formule Excel: recherche horizontale XLOOKUP -

Table des matières

Formule générique

=XLOOKUP(value,rng1,rng2,,-1) // approximate match =XLOOKUP(value,rng1,rng2) // exact match

Sommaire

Pour effectuer une recherche horizontale avec la fonction XLOOKUP, fournissez une valeur de recherche, un tableau de recherche et un tableau de résultats. Fournissez un argument match_mode pour une correspondance approximative si nécessaire. Dans l'exemple illustré, la formule en I5, copiée dans le tableau, est:

=XLOOKUP(E5,quantity,discount,,-1)

où la quantité (C4: F4) et la remise (C5: F5) sont des plages nommées.

Explication

Un avantage intéressant de la fonction XLOOKUP est que la syntaxe utilisée pour les recherches horizontales est la même que pour les recherches verticales.

Dans l'exemple illustré, les données de C4: F5 contiennent des remises basées sur la quantité. À mesure que la quantité augmente, la remise augmente également. Le tableau de droite montre la remise retournée par XLOOKUP pour plusieurs quantités aléatoires. La formule en F5, copiée vers le bas, est:

=XLOOKUP(E5,quantity,discount,,-1)

La même formule sans plages nommées est:

=XLOOKUP(H5,$C$4:$F$4,$C$5:$F$5,,-1)

Les arguments de XLOOKUP sont configurés comme ceci:

  • La valeur lookup_value provient de la cellule E5
  • Lookup_array est la quantité de plage nommée (C4: F4)
  • Le return_array est la remise de plage nommée (C5: F5)
  • L'argument not_found n'est pas fourni
  • Le match_mode est défini sur -1 (correspondance exacte ou suivante plus petite)
  • Le search_mode n'est pas fourni et vaut par défaut 1 (du premier au dernier)

À chaque ligne, XLOOKUP recherche la quantité dans la plage C4: F4. Lorsqu'une correspondance exacte est trouvée, la remise correspondante à la ligne 5 est renvoyée. Lorsqu'une correspondance exacte n'est pas trouvée, la remise associée à la prochaine plus petite quantité est retournée.

XLOOKUP vs HLOOKUP

La formule équivalente HLOOKUP pour cet exemple est l'une des deux formules ci-dessous:

=HLOOKUP(H5,$C$4:$F$5,2) // default approximate =HLOOKUP(H5,$C$4:$F$5,2,1) // explicit approximate

Il y a plusieurs différences à noter:

  • HLOOKUP requiert le tableau complet de la table comme deuxième argument. XLOOKUP requiert uniquement la plage avec des valeurs de recherche.
  • HLOOKUP nécessite un index de ligne pour spécifier une colonne de résultat. XLOOKUP nécessite une plage contenant des valeurs de résultat.
  • HLOOKUP effectue une correspondance approximative par défaut. XLOOKUP effectue une correspondance exacte par défaut.
  • HLOOKUP nécessite que les données de recherche soient triées par valeur de recherche. XLOOKUP fonctionne avec des données non triées.
  • HLOOKUP effectue uniquement des recherches horizontales, XLOOKUP peut effectuer des recherches horizontales et verticales.

Articles intéressants...