Обяснителни формули

Съдържание

Изисквания:

- Основни познания за vba
- Използване на таблици/именувани диапазони

Когато работите с включени и изключени работни книги, понякога месеци между повторните посещения на работната книга може да е трудно да запомните структурата на данните и създадената формула.
Ето как заобикалям този проблем и гарантирам, че в рамките на няколко минути ще имам преглед на направените изчисления.
В този пример ще покажа как една формула за изчисляване на бонуси може да бъде опростена.

Външен вид на формулата без таблица или UDF

Формула:

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

Логиката в тази формула може да бъде трудна за извличане на пръв поглед.

Външен вид на формулата с таблица и без UDF

Формула:

= IF (SUM ([@[Годишни продажби]]/[@Заплата]) = 3; SUM (([@[Годишни продажби]]-[@Заплата])*0,03); IF (И (SUM ([ @[Годишни продажби]]/[@Заплата])> 1; SUM ([@[Годишни продажби]]/[@Заплата]) <3) = ИСТИНА; SUM (([@[Годишни продажби]]-[@Заплата ])*0,02); 1)))

С таблиците току -що стана малко по -лесно за четене, тъй като сте информирани за клетките, използвани при изчислението

Външен вид на формула с таблица и UDF

Потребителска функция, поставена в модул:

„Предпочитам да имам дълги и описателни заглавия на функции, отколкото кратки и неописателни заглавия
Функция Calcule_salary_to_sale_ratio_and_return_bonus (yearSales As Double, заплата As Double) As Double

Dim плащане_to_sale_ratio като двойно
Dim bonus_factor As Double
Dim return_bonus As Double

заплата_до_продажба_отношение = годишноПродажби / заплата

Изберете Дело за заплата_ до_продажба_отношение
Случай 1 до 3
bonus_factor = 0,02
Делото е> 3
bonus_factor = 0,03
Дело иначе
bonus_factor = 0#
Край Изберете

return_bonus = (yearlySales - заплата) * bonus_factor

изчислете_заплата_ до_продажба_отношение_и_възвръщане_бонус = връщане_бонус

Крайна функция

Използване на функцията

Формула:= изчисляване_заплата_ до_продажба_отношение_и_възвръщане_бонус ([@[Годишни продажби]]; [@Заплата])Това ви казва точно какво се случва на пръв поглед и винаги можете да навлизате по -дълбоко в кода, за да прочетете спецификата. Приложен е файл, демонстриращ и трите сценария

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave