Étendre XLOOKUP pour des cas d'utilisation réels
Glissez pour afficher le menu
Les recherches de base sont utiles pour connecter des tables, mais les systèmes analytiques réels nécessitent souvent une logique de récupération plus avancée. Dans ce chapitre, extension de XLOOKUP pour prendre en charge les sorties multi-colonnes, les workflows de classement dynamique et les recherches inversées.
XLOOKUP multi-colonnes
XLOOKUP peut renvoyer plusieurs colonnes à la fois si la plage de retour s'étend sur plusieurs colonnes.
Formule utilisée dans ce chapitre :
=XLOOKUP(E2,Products[Product],Products[[Category]:[Price]],"Not found")
E2: valeur recherchée ;Products[Product]: colonne de recherche ;Products[[Category]:[Price]]: plage de retour multi-colonnes ;"Not found": valeur de secours.
Le résultat se propage horizontalement sur plusieurs colonnes.
Structure MAX
=MAX(array)
array : valeurs numériques évaluées.
Formule utilisée dans ce chapitre :
=MAX(Sales_Data[Revenue])
Ceci renvoie la valeur de Revenue la plus élevée dans l'ensemble de données.
Recherche inversée avec XLOOKUP
=XLOOKUP(J2,Sales_Data[Sales_Rep],Sales_Data[Order_ID],"Not found",0,-1)
0: mode de correspondance exacte ;-1: recherche de la dernière à la première.
Ceci renvoie l'enregistrement correspondant le plus récent au lieu du premier.
Dans la feuille Summary, création d'une petite section de recherche de produit.
Dans F2, saisie de :
=XLOOKUP(E2,Products[Product],Products[[Category]:[Price]],"Not found")
Les détails du produit se propagent horizontalement sur plusieurs colonnes.
Modification du nom du produit dans E2.
Observation de la mise à jour automatique de tous les attributs associés.
Dans une cellule distincte, saisie de :
=MAX(Sales_Data[Revenue])
Identification de la valeur de transaction la plus élevée dans l'ensemble de données.
Dans E2, saisie de :
=XLOOKUP(MAX(Sales_Data[Revenue]),Sales_Data[Revenue],Sales_Data[Product],"Not found")
MAX(Sales_Data[Revenue]): valeur de Revenue la plus élevée ;Sales_Data[Revenue]: colonne de recherche ;Sales_Data[Product]: produit retourné.
La formule récupère dynamiquement le produit lié à la transaction de Revenue la plus élevée.
Dans F2, saisie de :
=XLOOKUP(E2,Products[Product],Products[[Category]:[Price]],"Not found")
Le profil complet du produit se met désormais à jour dynamiquement avec le produit principal.
Création d'une section de saisie pour le Sales Rep. Dans la cellule de résultat de la recherche, saisie de :
=XLOOKUP(J2,Sales_Data[Sales_Rep],Sales_Data[Order_ID],"Not found",0,-1)
La formule renvoie désormais la commande la plus récente pour le commercial sélectionné.
Modification de la valeur du Sales Rep dans J2.
Vérification que :
- La recherche renvoie toujours la commande correspondante la plus récente ;
- Les valeurs répétées ne renvoient plus uniquement la première occurrence.
1. Que se passe-t-il lorsque XLOOKUP utilise une plage de retour multi-colonnes ?
2. Pourquoi la fonction MAX est-elle combinée avec XLOOKUP dans les modèles analytiques ?
3. Quel est l'effet de l'utilisation de search_mode = -1 dans XLOOKUP ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion