Предположим, что руководитель, внедряет новую политику, разработанную для уменьшения текучести кадров: общая сумма комиссионных, подлежащих выплате, увеличивается на 1% за каждый год, который продавец проработал в компании (речь о функции описанной в статье №64.1).
Изменим пользовательскую функцию КОМИССИОННЫЕ на КОМИССИОННЫЕ_ВЫСЛУГА так, чтобы она принимала два аргумента. Новый аргумент представляет количество лет (выслуги, стажа), отработанных сотрудником в компании.
- Function КОМИССИОННЫЕ_ВЫСЛУГА(Продажи, Выслуга) As Single
- ' Вычисление комиссионных с продаж на
- ' основе рабочего стажа в компании
- Const Уровень1 = 0.08
- Const Уровень2 = 0.105
- Const Уровень3 = 0.12
- Const Уровень4 = 0.14
- Select Case Продажи
- Case 0 To 9999.99: КОМИССИОННЫЕ_ВЫСЛУГА = Продажи * Уровень1
- Case 10000 To 19999.99: КОМИССИОННЫЕ_ВЫСЛУГА = Продажи * Уровень2
- Case 20000 To 39999.99: КОМИССИОННЫЕ_ВЫСЛУГА = Продажи * Уровень3
- Case Is >= 40000: КОМИССИОННЫЕ_ВЫСЛУГА = Продажи * Уровень4
- End Select
- КОМИССИОННЫЕ_ВЫСЛУГА = КОМИССИОННЫЕ_ВЫСЛУГА + (КОМИССИОННЫЕ_ВЫСЛУГА * Выслуга / 100)
- End Function
Давайте теперь разберем код построчно:
1. Function КОМИССИОННЫЕ_ВЫСЛУГА(Продажи, Выслуга) As Single: Объявляем функцию с двумя аргументами - Продажи и Выслуга. Функция возвращает значение типа Single, что обычно используется для дробных чисел.
2. Мы определяем константы Уровень1, Уровень2, Уровень3 и Уровень4, которые представляют разные ставки комиссии для различных диапазонов продаж.
3. Select Case Продажи: Мы используем оператор Select Case для определения, в каком диапазоне продаж находится значение переменной Продажи.
4. В каждом случае (Case) мы устанавливаем значение КОМИССИОННЫЕ_ВЫСЛУГА в соответствии с соответствующей ставкой комиссии.
5. КОМИССИОННЫЕ_ВЫСЛУГА = КОМИССИОННЫЕ_ВЫСЛУГА + (КОМИССИОННЫЕ_ВЫСЛУГА * Выслуга / 100): Мы увеличиваем значение комиссии на процент, равный выслуге в компании.
На скриншоте приведен пример формулы с использованием этой функции (предполагается, что объем продаж задан в ячейке А1, а количество лет, которые проработал в компании рассматриваемый продавец, указано в ячейке B1).