Vysvětlující vzorce

Obsah

Požadavky:

- Základní znalosti vba
- Použití tabulek/pojmenovaných rozsahů

Při práci se zapnutými a vypnutými sešity může být někdy těžké si pamatovat nastavení datové struktury a vzorce, někdy mezi revizemi sešitu.
Takto tento problém obcházím a zajišťuji, že během několika minut budu mít přehled o provedených výpočtech.
V tomto příkladu ukážu, jak lze vzorec pro výpočet bonusů zjednodušit.

Vzhled vzorce bez stolu nebo UDF

Vzorec:

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

Logiku v tomto vzorci lze na první pohled těžko extrahovat.

Vzhled vzorce s tabulkou 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; SUMA (([[[roční tržby]]-[@plat ])*0,02); 1)))

S tabulkami je čtení o něco snazší, protože jste informováni o buňkách použitých při výpočtu

Vzhled vzorce s tabulkou a UDF

Uživatelem definovaná funkce vložená do modulu:

„Raději budu mít dlouhé a popisné názvy funkcí než krátké a nepopisné názvy
Funkce count_salary_to_sale_ratio_and_return_bonus (yearlySales As Double, plat As Double) As Double

Dim plat_na_prodej_ratio jako dvojnásobek
Dim bonus_factor jako dvojitý
Dim return_bonus As Double

plat_na_prodej_ratio = roční prodej / plat

Vyberte možnost Case pay_to_sale_ratio
Případ 1 až 3
bonus_factor = 0,02
Případ je> 3
bonus_factor = 0,03
Případ jinak
bonus_factor = 0#
Konec Vybrat

return_bonus = (yearlySales - plat) * bonus_factor

count_salary_to_sale_ratio_and_return_bonus = return_bonus

Koncová funkce

Použití funkce

Vzorec:= count_salary_to_sale_ratio_and_return_bonus ([@[roční tržby]]; [@plat])To vám na první pohled přesně řekne, co se děje, a vždy můžete jít hlouběji do kódu a přečíst si specifika. Připojený soubor ukazuje všechny tři scénáře

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave