Todellisten Hakuongelmien Ratkaiseminen
Pyyhkäise näyttääksesi valikon
Tarkat osumat ovat hyödyllisiä relaatiomalleissa, mutta monet liiketoimintajärjestelmät perustuvat vaihteluväleihin ja raja-arvoihin kiinteiden arvojen sijaan. Tässä luvussa käytetään likimääräistä hakua porrastetun hinnoittelulogiikan ja dynaamisten alennuslaskelmien rakentamiseen.
Likimääräinen haku XLOOKUP-funktiolla
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], -1)
lookup_value: arvioitava arvo;lookup_array: raja-arvot;return_array: palautettava tulos;-1: palauttaa suurimman arvon, joka on pienempi tai yhtä suuri kuin hakuarvo.
Likimääräinen haku vaatii, että hakutaulukko on lajiteltu nousevaan järjestykseen.
Porrastettu logiikka
Porrastaulukoissa määritellään vähimmäisrajat tarkkojen osumien sijaan.
Esimerkki:
| Min_Units | Discount_Rate |
|---|---|
| 1 | 0% |
| 5 | 5% |
| 10 | 10% |
| 20 | 15% |
Excel arvioi, mihin kohtaan Units-arvo sijoittuu raja-arvorakenteessa ja palauttaa vastaavan alennusprosentin.
Luo uusi laskentataulukko nimeltä:
Pricing_Tiers
Lisää seuraava tietoaineisto:
Min_Units;Discount_Rate
1;0%
5;5%
10;10%
20;15%
Muunna tietoaineisto Excel-taulukoksi.
Varmista, että Min_Units on lajiteltu nousevaan järjestykseen.
Lisää Sales_Data-taulukkoon uusi sarake nimeltä:
Discount_Rate
Kirjoita ensimmäiselle riville:
=XLOOKUP([@Units],Pricing_Tiers[Min_Units],Pricing_Tiers[Discount_Rate],0,-1)
[@Units]: nykyisen rivin Units-arvo;Pricing_Tiers[Min_Units]: raja-arvosarake;Pricing_Tiers[Discount_Rate]: palautettava alennusarvo;0: oletusarvo;-1: likimääräinen hakutila.
Muotoile tulokset prosentteina.
Luo uusi sarake nimeltä:
Discounted_Revenue
Kirjoita ensimmäiselle riville:
=[@Revenue]*(1-[@Discount_Rate])
[@Revenue]: alkuperäinen Revenue-arvo;[@Discount_Rate]: käytetty alennusprosentti.
Laskenta mukautuu nyt dynaamisesti yksikkömäärän mukaan.
Muokkaa arvoja taulukossa Pricing_Tiers.
Varmista, että kaikki riippuvat laskelmat päivittyvät automaattisesti.
Korvaa aiempi huipputuotteen kaava seuraavalla:
=XLOOKUP(MAX(Sales_Data[Discounted_Revenue]),Sales_Data[Discounted_Revenue],Sales_Data[Product],"Not found")
Haku arvioi nyt alennetun liikevaihdon perusteella, ei pelkän Revenue-arvon.
Luo Summary-välilehdelle syöteosio:
Order_ID
Kirjoita hakutulossoluun:
=XLOOKUP(M2,Sales_Data[Order_ID],Sales_Data[Customer_ID],"Not found")
M2: Order_ID-syöte;Sales_Data[Order_ID]: hakusarake;Sales_Data[Customer_ID]: palautettava arvo.
Kirjoita toiseen tulossoluun:
=XLOOKUP(M2,Sales_Data[Order_ID],Sales_Data[Product],"Not found")
Kaavat hakevat nyt tapahtumatiedot dynaamisesti valitun Order_ID:n perusteella.
Vaihda arvoa solussa M2.
Varmista, että:
- Asiakastiedot päivittyvät automaattisesti;
- Tuotetiedot päivittyvät automaattisesti;
- Kaavat palauttavat aina oikean tapahtuman.
1. Mitä match_mode = -1 tekee XLOOKUP-funktiossa?
2. Miksi hakualueen täytyy olla lajiteltu käytettäessä likimääräistä vastaavuutta?
3. Mikä tekee XLOOKUP-funktiosta sopivan käänteisiin hakuihin?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Todellisten Hakuongelmien Ratkaiseminen
Tarkat osumat ovat hyödyllisiä relaatiomalleissa, mutta monet liiketoimintajärjestelmät perustuvat vaihteluväleihin ja raja-arvoihin kiinteiden arvojen sijaan. Tässä luvussa käytetään likimääräistä hakua porrastetun hinnoittelulogiikan ja dynaamisten alennuslaskelmien rakentamiseen.
Likimääräinen haku XLOOKUP-funktiolla
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], -1)
lookup_value: arvioitava arvo;lookup_array: raja-arvot;return_array: palautettava tulos;-1: palauttaa suurimman arvon, joka on pienempi tai yhtä suuri kuin hakuarvo.
Likimääräinen haku vaatii, että hakutaulukko on lajiteltu nousevaan järjestykseen.
Porrastettu logiikka
Porrastaulukoissa määritellään vähimmäisrajat tarkkojen osumien sijaan.
Esimerkki:
| Min_Units | Discount_Rate |
|---|---|
| 1 | 0% |
| 5 | 5% |
| 10 | 10% |
| 20 | 15% |
Excel arvioi, mihin kohtaan Units-arvo sijoittuu raja-arvorakenteessa ja palauttaa vastaavan alennusprosentin.
Luo uusi laskentataulukko nimeltä:
Pricing_Tiers
Lisää seuraava tietoaineisto:
Min_Units;Discount_Rate
1;0%
5;5%
10;10%
20;15%
Muunna tietoaineisto Excel-taulukoksi.
Varmista, että Min_Units on lajiteltu nousevaan järjestykseen.
Lisää Sales_Data-taulukkoon uusi sarake nimeltä:
Discount_Rate
Kirjoita ensimmäiselle riville:
=XLOOKUP([@Units],Pricing_Tiers[Min_Units],Pricing_Tiers[Discount_Rate],0,-1)
[@Units]: nykyisen rivin Units-arvo;Pricing_Tiers[Min_Units]: raja-arvosarake;Pricing_Tiers[Discount_Rate]: palautettava alennusarvo;0: oletusarvo;-1: likimääräinen hakutila.
Muotoile tulokset prosentteina.
Luo uusi sarake nimeltä:
Discounted_Revenue
Kirjoita ensimmäiselle riville:
=[@Revenue]*(1-[@Discount_Rate])
[@Revenue]: alkuperäinen Revenue-arvo;[@Discount_Rate]: käytetty alennusprosentti.
Laskenta mukautuu nyt dynaamisesti yksikkömäärän mukaan.
Muokkaa arvoja taulukossa Pricing_Tiers.
Varmista, että kaikki riippuvat laskelmat päivittyvät automaattisesti.
Korvaa aiempi huipputuotteen kaava seuraavalla:
=XLOOKUP(MAX(Sales_Data[Discounted_Revenue]),Sales_Data[Discounted_Revenue],Sales_Data[Product],"Not found")
Haku arvioi nyt alennetun liikevaihdon perusteella, ei pelkän Revenue-arvon.
Luo Summary-välilehdelle syöteosio:
Order_ID
Kirjoita hakutulossoluun:
=XLOOKUP(M2,Sales_Data[Order_ID],Sales_Data[Customer_ID],"Not found")
M2: Order_ID-syöte;Sales_Data[Order_ID]: hakusarake;Sales_Data[Customer_ID]: palautettava arvo.
Kirjoita toiseen tulossoluun:
=XLOOKUP(M2,Sales_Data[Order_ID],Sales_Data[Product],"Not found")
Kaavat hakevat nyt tapahtumatiedot dynaamisesti valitun Order_ID:n perusteella.
Vaihda arvoa solussa M2.
Varmista, että:
- Asiakastiedot päivittyvät automaattisesti;
- Tuotetiedot päivittyvät automaattisesti;
- Kaavat palauttavat aina oikean tapahtuman.
Kiitos palautteestasi!