Løsning af Reelle Opslagproblemer
Stryg for at vise menuen
Præcise opslag er nyttige for relationelle modeller, men mange forretningssystemer er afhængige af intervaller og grænseværdier i stedet for faste værdier. I dette kapitel bruges omtrentlige opslag til at opbygge logik for prisniveauer og dynamiske rabatberegninger.
Omtrentligt opslag med XLOOKUP
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], -1)
lookup_value: værdi der evalueres;lookup_array: grænseværdier;return_array: returneret resultat;-1: returnerer den største værdi, der er mindre end eller lig med opslagværdien.
Omtrentlige opslag kræver, at opslag-arrayet er sorteret i stigende rækkefølge.
Logik for prisniveauer
Niveautabeller definerer minimumsgrænser i stedet for præcise værdier.
Eksempel:
| Min_Units | Discount_Rate |
|---|---|
| 1 | 0% |
| 5 | 5% |
| 10 | 10% |
| 20 | 15% |
Excel vurderer, hvor Units-værdien passer ind i grænseværdistrukturen og returnerer den tilsvarende rabatsats.
Opret et nyt regneark med navnet:
Pricing_Tiers
Tilføj følgende datasæt:
Min_Units;Discount_Rate
1;0%
5;5%
10;10%
20;15%
Konverter datasættet til en Excel-tabel.
Bekræft, at Min_Units er sorteret i stigende rækkefølge.
I Sales_Data oprettes en ny kolonne med navnet:
Discount_Rate
I den første række indtastes:
=XLOOKUP([@Units],Pricing_Tiers[Min_Units],Pricing_Tiers[Discount_Rate],0,-1)
[@Units]: aktuel række Units-værdi;Pricing_Tiers[Min_Units]: grænseværdikolonne;Pricing_Tiers[Discount_Rate]: returneret rabatværdi;0: standardværdi;-1: omtrentligt opslag.
Formater resultaterne som procenter.
Opret en ny kolonne med navnet:
Discounted_Revenue
I den første række indtastes:
=[@Revenue]*(1-[@Discount_Rate])
[@Revenue]: oprindelig Revenue-værdi;[@Discount_Rate]: anvendt rabatprocent.
Beregningen justeres nu dynamisk baseret på enhedsvolumen.
Rediger værdierne i Pricing_Tiers.
Bekræft, at alle afhængige beregninger opdateres automatisk.
Erstat den tidligere top-produkt-formel med:
=XLOOKUP(MAX(Sales_Data[Discounted_Revenue]),Sales_Data[Discounted_Revenue],Sales_Data[Product],"Not found")
Opslaget vurderer nu rabatteret præstation i stedet for rå omsætning.
I arket Summary oprettes et inputafsnit for:
Order_ID
I opslagets resultatcelle indtastes:
=XLOOKUP(M2,Sales_Data[Order_ID],Sales_Data[Customer_ID],"Not found")
M2: Order_ID input;Sales_Data[Order_ID]: opslagkolonne;Sales_Data[Customer_ID]: returneret værdi.
I en anden resultatcelle indtastes:
=XLOOKUP(M2,Sales_Data[Order_ID],Sales_Data[Product],"Not found")
Formlerne henter nu transaktionsdetaljer dynamisk fra den valgte Order_ID.
Skift værdien i M2.
Bekræft at:
- Kundeværdier opdateres automatisk;
- Produktværdier opdateres automatisk;
- Formlerne returnerer altid den matchende transaktion.
1. Hvad gør match_mode = -1 i XLOOKUP?
2. Hvorfor skal opslag-arrayet være sorteret ved brug af omtrentlig match?
3. Hvad gør XLOOKUP velegnet til omvendte opslag?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat