Formule Excel: exemple de correspondance générique XLOOKUP -

Table des matières

Formule générique

=XLOOKUP(value,lookup,return,"not found",2)

Sommaire

Pour effectuer une correspondance partielle avec XLOOKUP, indiquez 2 pour l'argument du mode de correspondance afin d'autoriser les caractères génériques. Dans l'exemple illustré, la formule en H7 est:

=TRANSPOSE((XLOOKUP(H4,D5:D15,B5:E15,"Not found",2)))

qui effectue une correspondance générique avec la valeur de H4 et renvoie les 4 champs comme résultat. La fonction TRANSPOSE est facultative et utilisée ici uniquement pour convertir le résultat de XLOOKUP en un tableau vertical.

Explication

En travaillant de l'intérieur vers l'extérieur, XLOOKUP est configuré pour rechercher la valeur dans H4 dans la colonne Nom et renvoyer tous les champs. Afin de prendre en charge les caractères génériques, match_mode est fourni sous la forme 2:

XLOOKUP(H4,D5:D15,B5:E15,2) // match Last, return all fields

  • La valeur lookup_value provient de la cellule H4
  • Le lookup_array est la plage D5: D15, qui contient les noms
  • Le return_array est B5: E15, qui contient tous les champs
  • L'argument not_found est défini sur "Not found"
  • Le match_mode est égal à 2, pour autoriser les caractères génériques
  • Le search_mode n'est pas fourni et vaut par défaut 1 (du premier au dernier)

Puisque H4 contient "corr *", XLOOKUP trouve le premier nom commençant par "corr" et renvoie les quatre champs dans un tableau horizontal:

(648,"Sharyn","Corriveau","Support")

Ce résultat est renvoyé directement à la fonction TRANSPOSE:

=TRANSPOSE((648,"Sharyn","Corriveau","Support"))

La fonction TRANSPOSE change le tableau de l'horizontale à la verticale:

(648;"Sharyn";"Corriveau";"Support") // vertical array

et les valeurs du tableau débordent dans la plage H7: H10.

Avec joker implicite

Dans l'exemple ci-dessus, le caractère générique astérisque (*) est entré explicitement dans la valeur de recherche. Pour passer implicitement le caractère générique, vous pouvez ajuster la formule comme ceci:

=TRANSPOSE((XLOOKUP(H4&"*",D5:D15,B5:E15,"Not found",2)))

Ci-dessus, nous concaténons l'astérisque générique (*) à la valeur en H4 dans la formule elle-même. Cela ajoutera l'astérisque à toute valeur entrée dans H4, et XLOOKUP effectuera une recherche de caractères génériques.

Articles intéressants...