Vysvetľujúce vzorce

Obsah

Požiadavky:

- Základné znalosti vba
- Použitie tabuliek/pomenovaných rozsahov

Pri práci so zapnutými a vypnutými zošitmi môže byť niekedy ťažké zapamätať si nastavenú štruktúru údajov a vzorec, a to niekedy mesiace od opätovného navštívenia zošita.
Takto tento problém obchádzam a zaisťujem, aby som do niekoľkých minút mal prehľad o vykonaných výpočtoch.
V tomto príklade ukážem, ako je možné zjednodušiť vzorec na výpočet bonusov.

Vzhľad vzorca bez tabuľky alebo UDF

Vzorec:

= IF (SUM (C2/D2) = 3; SUM ((C2-D2)*0,03); IF (AND (SUM (C2/D2)> 1; SUM (C2/D2) <3) = TRUE; SUM ((C2-D2)*0,02); 1)))

Logiku v tomto vzorci je na prvý pohľad ťažké vyvodiť.

Vzhľad vzorca s tabuľkou a bez UDF

Vzorec:

= IF (SUM ([@[Ročné tržby]]/[@Plat]) = 3; SUM (([@[Ročné tržby]-[@Plat])*0,03); IF (AND (SUM ([ @[Ročné tržby]]/[@Plat]]> 1; SUMA ([@[Ročné tržby]]/[@Plat]) <3) = PRAVDA; SUM (([@[Ročné tržby]]-[@Plat ])*0,02); 1)))

S tabuľkami sa to začalo čítať o niečo jednoduchšie, pretože ste informovaní o bunkách použitých pri výpočte

Vzhľad vzorca s tabuľkou a UDF

Užívateľom definovaná funkcia vložená do modulu:

„Radšej budem mať dlhé a popisné funkčné názvy než krátke a nepopisné názvy
Funkcia count_salary_to_sale_ratio_and_return_bonus (yearlySales As Double, plat As Double) As Double

Dim plat_na_predaj_ratio ako dvojnásobok
Dim bonus_factor ako dvojitý
Dim return_bonus ako dvojnásobok

plat_na_predaj_ratio = ročnýPredaj / plat

Vyberte položku Prípad pay_to_sale_ratio
Prípad 1 až 3
bonus_factor = 0,02
Prípad je> 3
bonus_factor = 0,03
Prípad inak
bonus_factor = 0#
Ukončiť výber

return_bonus = (ročný predaj - plat) * faktor_ bonusu

count_salary_to_sale_ratio_and_return_bonus = return_bonus

Koncová funkcia

Použitie funkcie

Vzorec:= vypočítať_salary_to_sale_ratio_and_return_bonus ([@[ročné tržby]]; [@plat])To vám na prvý pohľad presne povie, čo sa deje, a vždy môžete ísť hlbšie do kódu a prečítať si špecifiká. V prílohe je súbor demonštrujúci všetky tri scenáre

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave