Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Todellisten Hakuongelmien Ratkaiseminen | Kehittyneet Hakujärjestelmät ja Relaatioiden Mallinnus
Excel-kaavat

Todellisten Hakuongelmien Ratkaiseminen

Pyyhkäise näyttääksesi valikon

Tarkat osumat ovat hyödyllisiä relaatio­malleissa, mutta monet liiketoimintajärjestelmät perustuvat rajoihin ja kynnysarvoihin 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: kynnysarvot;
  • 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äiskynnykset tarkkojen osumien sijaan.

Esimerkki:

Min_UnitsDiscount_Rate
10%
55%
1010%
2015%

Excel arvioi, mihin kohtaan Units-arvo sijoittuu kynnysrakenteessa ja palauttaa vastaavan alennusprosentin.

Vaihe 1 Luo Pricing Tiers -taulukko
expand arrow

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.

Vaihe 2 Rakenna alennushaku
expand arrow

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]: kynnysarvokolumni;
  • Pricing_Tiers[Discount_Rate]: palautettava alennusarvo;
  • 0: oletusarvo;
  • -1: likimääräinen hakutila.

Muotoile tulokset prosentteina.

Vaihe 3 Rakenna alennettu liikevaihto
expand arrow

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.

Vaihe 4 Testaa dynaamiset porrastukset
expand arrow

Muokkaa arvoja taulukossa Pricing_Tiers.

Varmista, että kaikki riippuvat laskelmat päivittyvät automaattisesti.

Vaihe 5 Päivitä huipputuotteen logiikka
expand arrow

Korvaa aiempi huipputuotteen kaava seuraavalla:

=XLOOKUP(MAX(Sales_Data[Discounted_Revenue]),Sales_Data[Discounted_Revenue],Sales_Data[Product],"Not found")

Haku arvioi nyt alennetun suorituskyvyn eikä raakaa Revenue-arvoa.

Vaihe 6 Rakenna käänteishakutoiminto
expand arrow

Luo Summary-välilehdelle syöteosio:

Order_ID
Vaihe 7 Hae asiakastiedot
expand arrow

Kirjoita hakutulossoluun:

=XLOOKUP(M2,Sales_Data[Order_ID],Sales_Data[Customer_ID],"Not found")
  • M2: Order_ID-syöte;
  • Sales_Data[Order_ID]: hakukolumni;
  • Sales_Data[Customer_ID]: palautettava arvo.
Vaihe 8 Hae tuotetiedot
expand arrow

Kirjoita toiseen tulossoluun:

=XLOOKUP(M2,Sales_Data[Order_ID],Sales_Data[Product],"Not found")

Kaavat hakevat nyt tapahtumatiedot dynaamisesti valitun Order_ID:n perusteella.

Vaihe 9 Testaa dynaamiset haut
expand arrow

Vaihda arvoa solussa M2.

Varmista, että:

  • Asiakastiedot päivittyvät automaattisesti;
  • Tuotetiedot päivittyvät automaattisesti;
  • Kaavat palauttavat aina vastaavan tapahtuman.

1. Mitä match_mode = -1 tekee funktiossa XLOOKUP?

2. Miksi hakualueen täytyy olla lajiteltu käytettäessä likimääräistä vastaavuutta?

3. Mikä tekee XLOOKUP-funktiosta sopivan käänteisiin hakuihin?

question mark

Mitä match_mode = -1 tekee funktiossa XLOOKUP?

Valitse oikea vastaus

question mark

Miksi hakualueen täytyy olla lajiteltu käytettäessä likimääräistä vastaavuutta?

Valitse oikea vastaus

question mark

Mikä tekee XLOOKUP-funktiosta sopivan käänteisiin hakuihin?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 3. Luku 3
some-alt