Résolution de Problèmes Réels de Recherche
Glissez pour afficher le menu
Les correspondances exactes sont utiles pour les modèles relationnels, mais de nombreux systèmes métier reposent sur des plages et des seuils plutôt que sur des valeurs fixes. Dans ce chapitre, utilisation de la correspondance approximative pour construire une logique de tarification par paliers et des calculs de remise dynamiques.
Correspondance approximative avec XLOOKUP
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], -1)
lookup_value: valeur évaluée ;lookup_array: valeurs seuils ;return_array: résultat retourné ;-1: retourne la plus grande valeur inférieure ou égale à la valeur recherchée.
La correspondance approximative nécessite que le tableau de recherche soit trié par ordre croissant.
Logique par paliers
Les tables de paliers définissent des seuils minimums au lieu de correspondances exactes.
Exemple :
| Min_Units | Discount_Rate |
|---|---|
| 1 | 0% |
| 5 | 5% |
| 10 | 10% |
| 20 | 15% |
Excel évalue où la valeur Units s'insère dans la structure des seuils et retourne le taux de remise correspondant.
Créer une nouvelle feuille nommée :
Pricing_Tiers
Ajouter le jeu de données suivant :
Min_Units;Discount_Rate
1;0%
5;5%
10;10%
20;15%
Convertir le jeu de données en tableau Excel.
Vérifier que Min_Units est trié par ordre croissant.
Dans Sales_Data, créer une nouvelle colonne nommée :
Discount_Rate
Dans la première ligne, saisir :
=XLOOKUP([@Units],Pricing_Tiers[Min_Units],Pricing_Tiers[Discount_Rate],0,-1)
[@Units]: valeur Units de la ligne courante ;Pricing_Tiers[Min_Units]: colonne des seuils ;Pricing_Tiers[Discount_Rate]: valeur de remise retournée ;0: valeur de secours ;-1: mode de correspondance approximative.
Formater les résultats en pourcentages.
Créer une nouvelle colonne nommée :
Discounted_Revenue
Dans la première ligne, saisir :
=[@Revenue]*(1-[@Discount_Rate])
[@Revenue]: valeur de chiffre d'affaires d'origine ;[@Discount_Rate]: pourcentage de remise appliqué.
Le calcul s'ajuste désormais dynamiquement en fonction du volume d'unités.
Modifier les valeurs dans Pricing_Tiers.
Vérifier que tous les calculs dépendants se mettent à jour automatiquement.
Remplacer la précédente formule du meilleur produit par :
=XLOOKUP(MAX(Sales_Data[Discounted_Revenue]),Sales_Data[Discounted_Revenue],Sales_Data[Product],"Not found")
La recherche évalue désormais la performance remisée au lieu du chiffre d'affaires brut.
Dans la feuille Summary, créer une section de saisie pour :
Order_ID
Dans la cellule de résultat de recherche, saisir :
=XLOOKUP(M2,Sales_Data[Order_ID],Sales_Data[Customer_ID],"Not found")
M2: saisie Order_ID ;Sales_Data[Order_ID]: colonne de recherche ;Sales_Data[Customer_ID]: valeur retournée.
Dans une autre cellule de résultat, saisir :
=XLOOKUP(M2,Sales_Data[Order_ID],Sales_Data[Product],"Not found")
Les formules récupèrent désormais dynamiquement les détails de la transaction à partir de l'Order_ID sélectionné.
Modifier la valeur dans M2.
Vérifier que :
- Les valeurs client se mettent à jour automatiquement ;
- Les valeurs produit se mettent à jour automatiquement ;
- Les formules retournent toujours la transaction correspondante.
1. Que fait match_mode = -1 dans XLOOKUP ?
2. Pourquoi le tableau de recherche doit-il être trié lors de l'utilisation de la correspondance approximative ?
3. Qu'est-ce qui rend XLOOKUP adapté aux recherches inversées ?
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