Formule Excel: XLOOKUP dernier match -

Table des matières

Formule générique

=XLOOKUP(value,rng1,rng2,"no match",0,-1) // last exact match

Sommaire

Pour récupérer la dernière correspondance dans un ensemble de données avec XLOOKUP, définissez le cinquième argument sur -1. Dans l'exemple illustré, la formule dans G5, copiée vers le bas, est:

=XLOOKUP(F5,item,price,0,-1)

où l' article (B5: B15) et le prix (D5: D15) sont des plages nommées.

Explication

Par défaut, XLOOKUP renverra la première correspondance dans un ensemble de données. Cependant, XLOOKUP propose un argument facultatif appelé search_mode pour contrôler l'ordre dans lequel les données sont recherchées. Si vous définissez le mode de recherche sur -1, XLOOKUP recherche "du dernier au premier" ou, en d'autres termes, effectue une recherche en arrière dans les données. Vous pouvez voir cette option utilisée dans l'exemple illustré. La formule dans G5, copiée vers le bas, est:

=XLOOKUP(F5,item,price,"no match",0,-1)

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

=XLOOKUP(F5,$B$5:$B$15,$D$5:$D$15,"no match",0,-1)

Les arguments de XLOOKUP sont configurés comme suit:

  • La valeur lookup_value provient de la cellule F5
  • Lookup_array est l' élément de plage nommé (B5: B15)
  • Le return_array est le prix de la plage nommée (D5: D15)
  • L'argument not_found est fourni comme "no match"
  • Le match_mode est défini sur 0 (correspondance exacte)
  • Le search_mode est défini sur -1 (du dernier au premier)

À chaque ligne, XLOOKUP recherche le nom de l'élément dans la colonne F de B5: B15, en commençant par le bas. Lorsqu'une correspondance exacte est trouvée, le prix correspondant dans la colonne D est renvoyé. Si aucune correspondance n'est trouvée, XLOOKUP renverra # N / A.

Remarque: cet exemple dépend du tri des données par date dans l'ordre croissant. Si les données ne sont pas triées, consultez cet exemple.

Articles intéressants...