Risoluzione di Problemi Reali di Ricerca
Scorri per mostrare il menu
Le corrispondenze esatte sono utili per i modelli relazionali, ma molti sistemi aziendali si basano su intervalli e soglie invece che su valori fissi. In questo capitolo, utilizzo della corrispondenza approssimativa per costruire logiche di prezzo a livelli e calcoli dinamici degli sconti.
Corrispondenza approssimativa con XLOOKUP
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], -1)
lookup_value: valore da valutare;lookup_array: valori soglia;return_array: risultato restituito;-1: restituisce il valore più grande minore o uguale al valore di ricerca.
La corrispondenza approssimativa richiede che l'array di ricerca sia ordinato in ordine crescente.
Logica a livelli
Le tabelle a livelli definiscono soglie minime invece di corrispondenze esatte.
Esempio:
| Min_Units | Discount_Rate |
|---|---|
| 1 | 0% |
| 5 | 5% |
| 10 | 10% |
| 20 | 15% |
Excel valuta dove il valore Units si inserisce nella struttura delle soglie e restituisce la corrispondente percentuale di sconto.
Crea un nuovo foglio di lavoro denominato:
Pricing_Tiers
Aggiungi il seguente dataset:
Min_Units;Discount_Rate
1;0%
5;5%
10;10%
20;15%
Converti il dataset in una Tabella Excel.
Conferma che Min_Units sia ordinato in ordine crescente.
All'interno di Sales_Data, crea una nuova colonna denominata:
Discount_Rate
Nella prima riga, digita:
=XLOOKUP([@Units],Pricing_Tiers[Min_Units],Pricing_Tiers[Discount_Rate],0,-1)
[@Units]: valore Units della riga corrente;Pricing_Tiers[Min_Units]: colonna soglia;Pricing_Tiers[Discount_Rate]: valore di sconto restituito;0: valore di fallback;-1: modalità di corrispondenza approssimativa.
Formatta i risultati come percentuali.
Crea una nuova colonna denominata:
Discounted_Revenue
Nella prima riga, digita:
=[@Revenue]*(1-[@Discount_Rate])
[@Revenue]: valore Revenue originale;[@Discount_Rate]: percentuale di sconto applicata.
Il calcolo ora si adatta dinamicamente in base al volume delle unità.
Modifica i valori all'interno di Pricing_Tiers.
Conferma che tutti i calcoli dipendenti si aggiornino automaticamente.
Sostituisci la precedente formula del prodotto top con:
=XLOOKUP(MAX(Sales_Data[Discounted_Revenue]),Sales_Data[Discounted_Revenue],Sales_Data[Product],"Not found")
La ricerca ora valuta la performance scontata invece del ricavo lordo.
Nel foglio Summary, crea una sezione di input per:
Order_ID
Nella cella di risultato della ricerca, digita:
=XLOOKUP(M2,Sales_Data[Order_ID],Sales_Data[Customer_ID],"Not found")
M2: input Order_ID;Sales_Data[Order_ID]: colonna di ricerca;Sales_Data[Customer_ID]: valore restituito.
In un'altra cella di risultato, digita:
=XLOOKUP(M2,Sales_Data[Order_ID],Sales_Data[Product],"Not found")
Le formule ora recuperano dinamicamente i dettagli della transazione dall'Order_ID selezionato.
Cambia il valore in M2.
Conferma che:
- I valori cliente si aggiornano automaticamente;
- I valori prodotto si aggiornano automaticamente;
- Le formule restituiscono sempre la transazione corrispondente.
1. Cosa fa match_mode = -1 in XLOOKUP?
2. Perché l'array di ricerca deve essere ordinato quando si utilizza la corrispondenza approssimativa?
3. Cosa rende XLOOKUP adatto alle ricerche inverse?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione