Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Б. Расчет комиссионных
Б. Возраста человека 1. Повторив операции п.п. 1, 2, 3 раздела А (нозадайте имя функции Возраст), введитеследующий код (в VB и VBA переменные и названия функций можно задавать по-русски): Public Function Возраст(Дрожд As Date) As Integer Возраст = DateDiff(" yyyy", Дрожд, Now) End Function В этой функции: DateDiff() – стандартная функция VBA, определяющая разность между заданной датой Дрожд и текущей, переменная Дрожд – дата рождения, Now – стандартная функция, возвращающая текущую дату, “yyyy” – параметр функции DateDiff(), задающий единицу измерения год. 2. Проверьте работу функции, используя ее в ячейках Е3 и Е4, предварительно задав в ячейках D3, D4 даты рождения. Сама функция находится в категории Определенные пользователем (см. п. 4 раздела А). Аргумент функции Возраст() – это ячейка D3. Чтобы ввести ее имя в поле аргумента, установите курсор в это поле и щелкните ЛКМ по ячейке D3 и на кнопку ОК. 3. Проверка возраста с помощью функции Возраст показывает, что вычисление возраста происходит с превышением. Человеку целых 70 лет, а вычисляется 71. Это можно исправить так. Создайте функцию Возраст2, в которой единицу измерения в функции DateDiff() примите равной “m” – месяцы. Затемиспользуйте ее в ячейках F3, F4 с использование стандартной функции ЦЕЛОЕ(). Формула в ячейке F3 будет такой: = ЦЕЛОЕ(Возраст2(D3)/12). Б. Расчет комиссионных 1. В соответствие с рис. 1 создайте две таблицы: одну с 2-мя колонками, другую с 7-ю колонками. 2. В 1-ю таблицу введите все указанные на рис. 1 данные. Во 2-ю таблицу введите данные только в три колонки. 3. Из 1-й таблицы ясен алгоритм, в соответствие с которым начисляются комиссионные менеджерам продаж по объему вырученной за неделю суммы. 4. Создайте функцию Function с именем Komis, которая не учитывает уменьшение комиссионных менеджерам, для которых установлен испытательный срок. Для этого введите следующий программный код процедуры: ‘ объявление констант: Const proc1 As Single = 0.08 Const proc2 As Single = 0.1 Const proc3 As Single = 0.15 Const sales1 As Double = 10000 Const sales2 As Double = 20000 ‘ начисление комиссионных в зависимости ‘ от суммы продаж: If sales < sales1 Then Komis = sales * proc1 ElseIf sales < sales2 Then Komis = sales * proc2 Else Komis = sales * proc3 End If End Function 5. В ячейках Е13 – Е16 используйте созданную функцию Komis для расчета комиссионных. 6. Создайте функцию Function с именем Komis2, которая учитывает уменьшение комиссионных менеджерам, для которых установлен испытательный срок. Для этого введите следующий программный код процедуры: Public Function Komis2(sales As Double, IspSrok As String) As Double Dim Komis As Double ‘ объявляем переменную Komis Const proc1 As Single = 0.08 Const proc2 As Single = 0.1 Const proc3 As Single = 0.15 Const sales1 As Double = 10000 Const sales2 As Double = 20000 Const KoffIsp As Single = 0.75 ‘ расчет комиссионных в зависимости ‘ от вырученной суммы: If sales < sales1 Then Komis = sales * proc1 ElseIf sales < sales2 Then Komis = sales * proc2 Else Komis = sales * proc3 End If ‘ учет испытательного срока: If IspSrok = " да" Then Komis2 = Komis * KoffIsp Else Komis2 = Komis End If End Function 7. В столбцах Функции Excel-1 и Функции Excel-2 второй таблицы при расчете комиссионных используйте САМОСТОЯТЕЛЬНО стандартную функцию ЕСЛИ().
|