Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Как построить финансовую модель 2016.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать

Расходы на персонал: sumproducts без альтернативы

Запрос 5. Если каждому сотруднику положен налоговый вычет в размере 10, то каков совокупный доход сотрудника от зарплаты и бонусов в каждом из периодов?

Алгоритм

  • Найти для данного периода общую сумму зарплаты и бонусов, выплачиваемых сотрудникам, которые уже работают в компании время, не менее того, что установлено для получения первого бонуса.

Критерии

  • Основной массив – Salary (С7)

  • Критерий 1 – Start_period (D13)

  • Дополнительный аргумент – Налоговый вычет (10)

Похоже, что нам придется или создавать в базе поле "Налогооблагаемый доход", или писать формулу, где будут суммированы две формулы SUMPRODUCT с одними и теми же критериями и разными "основными массивами"? Это сработает, конечно. Но мы обойдемся проще. SUMPRODUCT позволяет производить операции с массивами и внутри своих аргументов. Главное – в процессе дизайна формулы не перепутать, как вы пытаетесь преобразовать строки и массивы.

Формула:

=SUMPRODUCT(INDIRECT($C7)-10,--(INDIRECT($D12)<=G$2),--(INDIRECT($E12)=$F12))

=SUMPRODUCT(

Формула возвращает сумму произведений своих аргументов. В данном варианте в ее аргументах - только два логических массива, поскольку мы хотим только сосчитать количество записей, удовлетворяющих заданным критериям, а не суммы значений в этих записях. Первый аргумент – проверка, работает ли сотрудник в компании, второй – проверка, является ли сотрудник инженером.

INDIRECT($C7)

Сложить отвечающие критерию значения из массива, имя которого вписано в клетку С7 (Salary).

Колонка закреплена жестко (знак $) для последующего копирования.

-10,

Вычесть из каждой строки массива Salary величину налогового вычета (10)

--

Два единичных оператора "минус":

  • первый изменит знаки всех элементов массива, обратив их в числа,

  • второй вернет все в исходное состояние, но уже в численном виде.

(INDIRECT($D12)

Найти массив критериев выбора, в котором записаны периоды начала работы сотрудников. Формула найдет его по имени, которое вписано в ячейку D12 (Start_period).

Колонка закреплена жестко (знак $) для последующего копирования.

<=G$2),

Если сотрудник уже работает в компании, поле start_period его записи меньше или равно значению текущего периода (ячейка G2).

Ряд закреплен жестко (знак $) для последующего копирования.

--

Два единичных оператора "минус":

  • первый изменит знаки всех элементов массива, обратив их в числа,

  • второй вернет все в исходное состояние, но уже в численном виде.

INDIRECT($E12)

Найти массив с типами сотрудников. Формула найдет его по имени, которое вписано в ячейку E12 (Type).

Колонка закреплена жестко (знак $) для последующего копирования.

=$F12)

Из массива Type будут выбраны только записи, у которых в поле Type стоит значение "Инженер" (ячейка F12).

Колонка закреплена жестко (знак $) для последующего копирования.

)

Формула завершена

ПРИМЕЧАНИЕ 1: На практике, разумеется, мы дополнительно вынесем вычет в отдельную переменную, и добавим проверку на отрицательные значения для тех случаев, когда вычет больше зарплаты. В данном случае цель этой формулы – продемонстрировать, как работают вычисления внутри аргументов SUMPRODUCT. Формула позволяет не только совершать внутри строк математические операции – сложение, вычитание, умножение, деление, возведение в степень, но и использовать более сложные вычисления.

ПРИМЕЧАНИЕ 2: Операции можно совершать не только с одним, но и с несколькими массивами. Допустим, что у каждого сотрудника есть право на свой индивидуальный вычет. Мы можем добавить в базу поле для вычета (с именем, допустим, Deduct), и записать в качестве аргумента вместо "Salary – 10" - "Salary – Deduct". SUMPRODUCT выполнит построчное вычитание.

Запрос 6. Каковы выплаты текущих бонусов в каждом из периодов?

Алгоритм

  • Найти для данного периода общую сумму бонусов, выплачиваемых сотрудникам, которые уже работают в компании время, не менее того, что установлено для получения первого бонуса.

Критерии

  • Основной массив – Bonus (C13)

  • Критерий 1 – Start_period (D13)

  • Критерий 2 – Bonus_period (E13)

  • Значение критерия 2 – разность текущего периода и периода приема сотрудника на работу кратна числу периодов, необходимых для получения бонуса

Формула:

В данном случае нам придется сделать результатом дополнительного вычисления уже не основной массив, а критерий. Причем это будет более сложное вычисление. Компания должна выплатить сотруднику бонус, если в данном периоде подошел срок очередного бонуса. Например, сотрудник, принятый на работу в 3 периоде с периодичностью бонуса раз в 2 периода, получит бонус в 2+3=5 периоде, 5+2=7 периоде, 7+2=9 периоде и так далее. А в 1 периоде, хотя 1+2=3, он бонуса не получит, потому что еще не работает в компании.

Кратность можно выразить как остаток от деления числа на частное, равный нулю. Для вычисления остатка от деления в Excel есть функция MOD. Ее аргументы – делимое и делитель. Воспользуемся ею. В качестве делителя используем бонусный период, а в качестве делимого – разность периода и периода первоначального приема на работу.

=SUMPRODUCT(--(MOD(G$2-INDIRECT($D13),INDIRECT($E13))=0),--(G$2-INDIRECT($D13)>0),INDIRECT($C13))

=SUMPRODUCT(

Формула возвращает сумму произведений своих аргументов. Первый аргумент – логический массив проверки на то, положен ли сотруднику именно в данном периоде бонус, второй аргумент – логический массив проверки, проработал ли сотрудник достаточно долго, чтоб получить первый бонус, третий аргумент – числовой массив сумм бонусов.

--

Два единичных оператора "минус":

  • первый изменит знаки всех элементов массива, обратив их в числа,

  • второй вернет все в исходное состояние, но уже в численном виде.

(MOD

Функция остатка. Первый аргумент – делимое, второй аргумент – делитель.

(G$2-

Делимое – разность текущего периода и периода приема на работу.

Получить значение текущего периода (G2).

Ряд закреплен жестко (знак $) для последующего копирования.

INDIRECT($D13),

Найти массив критериев выбора, в котором записаны периоды начала работы сотрудников. Формула найдет его по имени, которое вписано в ячейку D13 (Start_period).

Колонка закреплена жестко (знак $) для последующего копирования.

INDIRECT($E13)

Делитель – периодичность бонуса.

Найти массив с суммами бонусов сотрудников. Формула найдет его по имени, которое вписано в ячейку E13 (Bonus_period).

Колонка закреплена жестко (знак $) для последующего копирования.

)=0),

Проверка на кратность. Если остаток от деления равен нулю, условие выполнено.

--

Два единичных оператора "минус":

  • первый изменит знаки всех элементов массива, обратив их в числа,

  • второй вернет все в исходное состояние, но уже в численном виде.

(G$2-INDIRECT($D13)

Разность текущего периода и периода приема на работу.

>0),

Если текущий период больше (но не равен!) периода приема на работу, значит, данный сотрудник уже нанят на работу и работает в счет первого или более периодического бонуса.

INDIRECT($C13)

Найти массив с суммами бонусов сотрудников. Формула найдет его по имени, которое вписано в ячейку С13 (Bonus).

Колонка закреплена жестко (знак $) для последующего копирования.

)

Формула завершена

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

А в целом эти упражнения оставят после себя матрицу следующего вида:

В заключение следует сказать, что созданный нами лист запросов – один из основных субэлементов финансовой модели, чаще всего называющийся schedule (роспись). Мы создали роспись денежных потоков, связанных с наймом. Роспись является расчетом денежных потоков от отдельных бизнес-процессов, видов деятельности или других промежуточных событий. Рассчитанные в ней денежные потоки в дальнейшем сводятся в операционный, инвестиционный или финансовый денежный поток, и далее – в общий денежный поток компании. Росписей в модели может быть столько, сколько это необходимо аналитику.

База данных однотипных компонентов фирмы лежит в основе не только кадровой деятельности. Практически любой вид деятельности компании генерирует те или иные повторяемые финансовые события, которые могут быть систематизированы и рассчитаны описанными способами.

Домашнее задание:

1. Используя этот массив данных и уже изученные формулы, сформируйте выражение для запроса "Каковы будут общие бонусные платежи компании за каждый данный период?", не прибегая при этом более чем к одной формуле SUMPRODUCT.

2. Используя полученные знания, составьте базу данных и матрицу запросов для решения следующей проблемы:

Фирма закупает оборудование по следующему плану:

  • Мобильные телефоны обновляются в среднем раз в период

  • Ноутбуки обновляются в среднем раз в два периода

  • Сервера обновляются раз в три периода

Технику, обновляемую раз в два и более периода, относят к инвестиционному денежному потоку, а обновляемую чаще – к операционному.

Рассчитайте для произвольного количества и цен устройств операционный и денежный поток.