
- •Попов а.А.
- •Москва – 2004
- •Тираж: 200. Изд. № Заказ № введение
- •1. Интерфейс системы
- •1.1. Элементы интерфейса ос Windows
- •Справка
- •1.2. Интерфейс среды Excel
- •Просмотр списка имен Ввод Поле ввода
- •1.3. Средства управления Excel
- •Прочие клавиши
- •1.4. Организация данных в Excel
- •2. Элементарные операции с данными
- •2.1. Манипулирование данными
- •2.1.6. Вставка элементов таблицы
- •Буксировать мышью влево
- •2.1.8. Операции с рабочими листами
- •2.2. Виды адресации
- •2.4. Создание формул
- •2.5. Задачи для самостоятельного решения Контрольные вопросы
- •Упражнения
- •2. Перемещение и копирование данных.
- •2 ( ; Перейти в е5; ). .1. Переместить содержимое блока в2:в3 в е5:е6.
- •2 ( ; Перейти в e5; ). .2. Скопировать содержимое блока в2:в3 в е5:е6.
- •3.1. Простое автозаполнение (копирование без изменения данных).
- •3.2. Автозаполнение из списков.
- •3.3. Формирование арифметических прогрессий.
- •5. Манипулирование строками/столбцами.
- •5.2. Управление шириной строк/столбцов.
- •7 . Построение формул.
- •3. Оформление данных
- •3 .1. Выравнивание данных
- •3.2. Управление шрифтами
- •3.3. Форматирование чисел
- •Положительное; Отрицательное; Нулевое; Текстовое
- •[Черный]; [Зеленый]; [Голубой]; [Красный]
- •3.4. Мастер условного форматирования
- •3.5. Контроль ввода
- •3.6. Задачи для самостоятельного решения Контрольные вопросы
- •Упражнения
- •4. Функции рабочего листа
- •4.1. Функция суммирования
- •4.2. Арифметические функции
- •4.3. Функции округления
- •4.4. Степенные функции
- •4.5. Тригонометрические функции
- •4.6. Текстовые функции
- •4.7. Логические функции
- •4.8. Функции выбора и поиска
- •Гпр(что искать; где искать; откуда взять; как искать).
- •Условие 1
- •4.9. Сводные функции
- •4.10. Функции обработки дат
- •4.11. Финансовые функции
- •4.12. Информационные функции
- •4.13. Ошибочные значения
- •4.14. Функции анализа ошибок
- •4.15. Работа с массивами
- •4.16. Матричные функции
- •То можно обеспечить правильное сложение данных и при вставках новых строк в любом месте диапазона суммирования. Или конкретно для нашего случая
- •4.17. Примеры “из жизни”
- •4.18. Задачи для самостоятельного решения
- •5. Примеры практических задач
- •"Остаток:"???"дн"; [красный]"доплата"???"дн"; [синий]"съезд"
- •6. Задачи для самостоятельного решения
- •7. Тесты к дисциплине
- •Оглавление
- •Курс компьютерной подготовки
5. Примеры практических задач
Рассмотрим ряд примеров, разбор которых позволит читателю освоить основные средства Excel. Кроме того, читатель, возможно, обнаружит среди предложенных примеров задачу, похожую на ту, что он решает ежедневно на своем рабочем месте, но делает это вручную. Представленный ниже материал не следует воспринимать как пособие по финансовой математике. Тематика предлагаемых задач часто связана с денежными расчетами просто потому, что их постановка понятна любому читателю. Это, конечно, совершенно не означает, что для такого инструмента не найдется множества технических приложений. Отметим, что некоторые задания могут быть исполнены несколькими, иногда, возможно, и более эффективными, способами. Цель предлагаемого далее материала – не получение самого лучшего решения в каждом конкретном случае, а овладение техникой построения и оформления таблиц.
Замечания. 1. Информация, используемая в примерах, носит условный характер и не отражает реального законодательства. 2. Таблицы представлены на рисунках как в нормальном (“результативном”) виде, так и, по возможности, – в формульном виде. Номера рисунков в тексте совпадают с номерами задач. 3. Следует иметь в виду, что данные во многих примерах сопровождаются единицами измерения ($, кг, шт и др.), которые не вводятся непосредственно в клетки таблицы, но устанавливаются с помощью форматирования.
В связи с тем, что во многих примерах имеются “процентные” данные, напомним, как их использовать. Проценты вводятся в таблицу как десятичные коэффициенты, которым затем придается формат %, либо они сразу вводятся со знаком процента. В Excel число, изображенное со знаком процента, соответствует в сто раз меньшей величине без знака %. То, что, например, выглядит как 20%, на самом деле является 0,2, то, что выглядит как 100%, соответствует 1. Иными словами, это просто разные формы представления одного и того же числа.
Пусть нам нужно выделить часть числа, определенную как его некоторый процент. При вычислениях “на бумаге” следует выполнить такие действия
искомая_часть_числа=исходное_число * процент_от_числа/100% .
В Excel же достаточно формулы вида искомая_часть_числа=исходное_число * процент_от_ числа.
Т.е. нужно умножить это число на процент. Делить на 100% нет необходимости. Однако, если это сделать, результат не измениться ведь здесь 100%1.
Например, нужно найти 20% от числа 500: =500*20%=500*0,2=100.
Обе формулы в Excel совершено идентичны.
Другая ситуация. Пусть нужно вычислить новое значение числа, уменьшенное на некоторый процент (например, учесть скидку). Здесь следует записать так
новое_число=исходное_число – исходное_число * процент или короче
новое_число=исходное_число * (1–процент).
Например, пусть старая цена товара составляет 500 руб., а новая цена имеет скидку в 20%. Определить новую цену товара в рублях =500(1–20%)=500(100%–20%)=500(1–0,2). Все три записи в Excel идентичны.
Аналогичным образом вычисляется наценка: новое_число=исходное_число * (1+процент).
Наценка в 20% к 500 руб. даст такую новую цену =500(1+20%)=500(100%+20%)=500(1+0,2).
Поскольку, обычно, такие данные участвуют в формулах не в качестве констант, а своими адресами (например, А3 и В4), вполне очевидны формулы вида =А3*(1–В4) и =А3*(1+В4) для скидки и наценки. Очевидно также, что превратить одну функцию в другую можно просто изменив знак непосредственно при числе, находящемся в ячейке, содержащей процент (здесь в В4). Во всех случаях следует иметь в виду, что нельзя складывать (вычитать) процент с каким-либо иным значением, кроме процента (коэффициента).
Замечание. Владельцы калькуляторов знают, что (при наличии на нем кнопки %) правомочно действие, в котором с собственно данными (например с деньгами) складываются/вычитаются проценты. Например, действие вида 200р+10% повлечет результат равный 220р (т.е. будет начислен желаемый процент), что, как будто, противоречит вышесказанному. Здесь следует учесть, что в калькуляторе имеется специальная операция взятия процента, которая на сам деле выполнила действие вида 200+200*10%/100%. Поскольку в Excel отсутствует подобный механизм начисления процента, мы должны пользоваться известными школьными правилами работы с процентами.
В начале рассмотрим простенький пример, который нам поможет выработать подход к проектированию таблиц. На рис. 5.0а слева изображена вся таблица, справа – формулы для столбца D. Пусть требуется выполнить расчет платы за квартиру. Положим она состоит из оплаты за коммунальные услуги (по 2 руб. за квадратный метр площади) и оплаты за газоснабжение (по 3 руб. с каждого проживающего в квартире человека).
Здесь реализован очевидный механизм расчета
квартплата=площадь * тариф_за_коммунальные_услуги + человек * тариф_за_газ.
Или в виде чисел для первой квартиры D3=80*2+4*3.
|
A |
B |
C |
D |
|
D |
|
1 |
РАСЧЕТ КВАРТПЛАТЫ |
|
|
||||
2 |
Квартира |
Площадь |
Человек |
Кв. плата |
|
Кв. плата |
|
3 |
№1 |
80 |
4 |
172 |
|
=B3*2+C3*3 |
|
4 |
№2 |
60 |
3 |
129 |
|
=B4*2+C4*3 |
|
5 |
№3 |
110 |
5 |
235 |
|
=B5*2+C5*3 |
|
6 |
№4 |
120 |
8 |
264 |
|
=B6*2+C6*3 |
|
7 |
ВСЕГО |
370 |
20 |
800 |
|
=СУММ(D3:D6) |
|
|
|
|
Рис. 5.0а |
|
|
|
|
A |
B |
C |
D |
|
D |
1 |
Тарифы оплаты |
|
|
|||
2 |
комм/уc: |
2,0р/метр |
газ: |
3,0р/чел |
|
3,0р/чел |
3 |
РАСЧЕТ КВАРТПЛАТЫ |
|
|
|||
4 |
Квартира |
Площадь |
Человек |
Кв. плата |
|
Кв. плата |
5 |
№1 |
80м |
4 |
172,0р |
|
=B5*B$2+C5*D$2 |
6 |
№2 |
60м |
3 |
129,0р |
|
=B6*B$2+C6*D$2 |
7 |
№3 |
110м |
5 |
235,0р |
|
=B7*B$2+C7*D$2 |
8 |
№4 |
120м |
8 |
264,0р |
|
=B8*B$2+C8*D$2 |
9 |
ВСЕГО |
370м |
20 |
800,0р |
|
=СУММ(D5:D8) |
|
|
|
Рис. 5.0б |
|
|
|
D5=B5*B2+C5*D2
D6=B6*B3+C6*D3,
D7=B7*B4+C6*D4 и т.д.
Они неверны (ошибочные значения подчеркнуты). Поскольку при перемещении вниз изменились также адреса, содержащие тарифы, то площадь квартиры №2 перемножается уже не на тариф коммунальных услуг из ячейки В2, а на содержимое пустой клетки В3. Аналогично с оплатой за газ. Это же относится и ко всем другим квартирам. Чтобы избежать нежелательного изменения адресов тарифов, они фиксируются в формулах (“замораживаются”) введением знака $ перед номером строки (D5=B5*B$2+C5* D$2). Копирование такой формулы вниз
|
A |
B |
|
B |
1 |
Вклад: |
1000 |
|
1000 |
2 |
ПРОСТЫЕ ПРОЦЕНТЫ |
|
|
|
3 |
Норма |
Прибыль |
|
Прибыль |
4 |
10% |
100,00 |
|
=A4*$B$1 |
5 |
15% |
150,00 |
|
=A5*$B$1 |
6 |
20% |
200,00 |
|
=A6*$B$1 |
7 |
30% |
300,00 |
|
=A7*$B$1 |
8 |
|
750,00 |
|
=СУММ(B4:B7) |
|
|
Рис. 5.1 |
|
|
D6=B6*B$2+C6*D$2,
D7=B7*B$2+C6*D$2 и т.д.
уже не повлечет изменения цифры 2 в адресах B$2 и D$2 (результаты изображены на рис. 5.0б).
Ранее нами уже обсуждался вопрос о возможности вставки строк в таблицу и влияние этого действия на поведение итоговых функции. В нашем случае вставка новых данных (новых квартир) между 4-ой и 5-ой и между 8-ой и 9-ой строками будет проигнорирована функцией СУММ(D5:D8). Обеспечить правильную реакцию функции на верхнюю вставку можно, включив заголовок таблицы в область суммирования, т.е. сделать D9=СУММ(D4:D8). Правильную реакцию на дополнение таблицы в нижней ее части можно реализовать (начиная с версии Excel-2000), если установить флажок Расширять форматы и формулы в списках (вкладка Правка). Однако, если (конечно, в сложных случаях) этот механизм не срабатывает, такое дополнение можно осуществлять оставляя пустой самую последнюю (в нашем случае девятую) строку между собственно данными и десятой строкой, где теперь будут вычисляться суммы. Тогда щелчок мышью на строке 9 с последующей вставкой новой строки опустит 9-ю и 10-ю строки ниже и изменит в последней формулу на D11= СУММ(D4:D10), что соответствует нашим целям.
Исключить необходимость присутствия пустой строки среди данных можно, если воспользоваться более сложной функцией суммирования (см. вставку после раздела 4.16 в главе “Функции рабочего листа”) вида D9= СУММ(D$4:ИНДЕКС(D:D;СТРОКА()–1)), а если вы хотите изъять заголовок таблицы из области суммирования, то
D9=СУММ(ИНДЕКС(D:D;5):ИНДЕКС(D:D;СТРОКА()–1)).
Теперь допускается вставка новых строк в произвольное место таблицы (например, выделив любую строку и нажав Ctrl+Плюс) не заботясь о правильности осуществления суммирования – оно будет корректным.
Больше этого вопроса мы касаться пока не будем и, чтобы не загромождать таблицы, ограничимся применением самой простой функции СУММ( ), полагая, что на практике пользователь самостоятельно выберет и применит удобное ему решение.
К оформлению таблицы. Для удобства восприятия информации данные снабжены символами, указывающими на единицы измерения. Так клетка В2 имеет пользовательский формат 0,0”р/метр”, клетка D2 – 0,0”р/чел”, клетки В5-В9 – 0”м”, клетки D5-D9 – 0,0”р”.
Пример 5.1. Расчеты по вкладам. Построить таблицу вычисления прибыли от инвестирования суммы, равной 1000 (клетка В1), на четыре года в некоторое производство или в банк. Предполагаемая, выплачиваемая ежегодно, норма прибыли должна составить 10%, 15%, 20% и 30% соответственно. Таблица в числовом и формульном (только для столбца В) видах приведена на рис. 5.1. Используемые табличные функции очевидны и реализуют выражение вида прибыль=вклад*норма. Способ исчисления дохода по вкладу здесь соответствует так называемым простым процентам.
Пример 5.2. Расчеты по вкладам (сложные проценты). Аналогичная задача, но предполагается, что инвестор не изымает прибыль, а реинвестирует ее снова в дело. Такой механизм начисления дохода определяется термином “сложные проценты” или “капитализация дохода”. Здесь:
прибыль=норма*предыдущая_сумма_на_счету сумма=предыдущая_сумма_на_счету + прибыль.
Замечание. В этой задаче копирование формул возможно только со второго года (со строки 5). Именно с этого года формулы начинают повторяться.
Значение нарастающей суммы можно выяснить и с помощью имеющейся в Excel финансовой функции вычисления будущего значения прибыли с изменяющейся процентной ставкой БЗРАСПИС()
сумма=БЗРАСПИС(вклад; нормы_предшествующих_лет).
Так, полное ее значение по завершении последнего четвертого года составит величину, равную выражению B7=БЗРАСПИС(B1;A4:A7). На рис. 5.2б изображена таблица с решением той же задачи (и, естественно, с теми же результатами), но с использованием указанной функции. Если не требуется знать значения накопленных вкладов в конце каждого года, можно, вообще, ограничиться только одной формулой из последней ячейки =БЗРАСПИС(B$1; A$4:A7). А если не нужна таблица, то и вообще =БЗРАСПИС(1000;{0,1;0,15;0,2;0,3}).
|
A |
B |
C |
|
B |
C |
|
A |
B |
1 |
Вклад: |
1000 |
|
|
1000 |
|
|
Вклад: |
1000 |
2 |
СЛОЖНЫЕ ПРОЦЕНТЫ |
|
|
|
|
|
|
||
3 |
Норма |
Прибыль |
Сумма |
|
Прибыль |
Сумма |
|
Норма |
Сумма |
4 |
10% |
100,0 |
1100,0 |
|
=A4*B1 |
=B1+B4 |
|
10% |
=БЗРАСПИС(B$1;A$4:A4) |
5 |
15% |
165,0 |
1265,0 |
|
=A5*C4 |
=B5+C4 |
|
15% |
=БЗРАСПИС(B$1;A$4:A5) |
6 |
20% |
253,0 |
1518,0 |
|
=A6*C5 |
=B6+C5 |
|
20% |
=БЗРАСПИС(B$1;A$4:A6) |
7 |
30% |
455,4 |
1973,4 |
|
=A7*C6 |
=B7+C6 |
|
30% |
=БЗРАСПИС(B$1;A$4:A7) |
8 |
|
973,4 |
|
|
=СУММ(B4:B7) |
|
|
|
|
|
Рис. 5.2а |
|
Рис. 5.2б |
Пример 5.3. Распределение фонда заработной платы. Создать таблицу распределения фонда заработной платы сотрудников подразделения в соответствии с устанавливаемым руководителем коэффициентом (индивидуальной оценкой качества и ответственности труда). Для определения зарплаты здесь сначала нужно найти “вес” единицы коэффициента в денежном исчислении (т.е. фонд_зарплаты/сумма_коэффициентов), а затем умножить его на индивидуальный коэффициент работника
зарплата_работника=фонд/сумма_коэффициентов*коэффициент_работника.
Отсюда следует, что прежде нужно найти сумму всех коэффициентов В8=СУММ(B4:B7). Тогда зарплата Петра будет вычисляться по формуле C4=B$1/B$8*B4. И, наконец, подсчитывается сумма всех установленных зарплат C8=СУММ(C4:C7). Как видим, она в точности равна фонду зарплаты (1000), т.е. выражения записаны верно. На рис. 5.3а таблица отображена в числовом и в формульном форматах.
|
A |
B |
C |
|
B |
C |
|||||
1 |
Фонд: |
1000 |
|
|
1000 |
|
|||||
2 |
РАСПРЕДЕЛЕНИЕ ЗАРПЛАТЫ |
|
|
|
|||||||
3 |
Имя |
Коэфф. |
Зарплата |
|
Коэфф. |
Зарплата |
|||||
4 |
Петр |
1 |
178,57 |
|
1 |
=B$1/B$8*B4 |
|||||
5 |
Иван |
1,1 |
196,43 |
|
1,1 |
=B$1/B$8*B5 |
|||||
6 |
Сергей |
2 |
357,14 |
|
2 |
=B$1/B$8*B6 |
|||||
7 |
Олег |
1,5 |
267,86 |
|
1,5 |
=B$1/B$8*B7 |
|||||
8 |
ВСЕГО |
5,6 |
1000,00 |
|
=СУММ(B4:B7) |
=СУММ(C4:C7) |
|||||
|
|
|
Рис. |
5.3а |
|
|
|||||
|
|
|
|
|
|
||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
|
|
|
A |
B |
C |
D |
1 |
Фонд: |
1000 |
|
|
2 |
РАСПРЕДЕЛЕНИЕ ЗАРПЛАТЫ |
|||
3 |
Имя |
Прежняя зарплата |
Коэфф. |
Новая зарплата |
4 |
Петр |
100 |
1 |
173,21 |
5 |
Иван |
130 |
1,1 |
210,54 |
6 |
Сергей |
160 |
2 |
306,43 |
7 |
Олег |
200 |
1,5 |
309,82 |
8 |
ВСЕГО |
590 |
5,6 |
1000,00 |
|
|
Рис. |
5.3б |
|
|
A |
B |
C |
D |
1 |
Фонд: |
1000 |
|
|
2 |
РАСПРЕДЕЛЕНИЕ ЗАРПЛАТЫ |
|||
3 |
Имя |
Прежняя зарплата |
Коэфф. |
Новая зарплата |
4 |
Петр |
100 |
1 |
=(B$1–B$8)/C$8*C4+B4 |
5 |
Иван |
130 |
1,1 |
=(B$1–B$8)/C$8*C5+B5 |
6 |
Сергей |
160 |
2 |
=(B$1–B$8)/C$8*C6+B6 |
7 |
Олег |
200 |
1,5 |
=(B$1–B$8)/C$8*C7+B7 |
8 |
ВСЕГО |
=СУММ(B4:B7) |
=СУММ(C4:C7) |
=СУММ(D4:D7) |
|
|
|
Рис. 5.3в |
|
D4=ЕСЛИ(B$8>=B$1;
(B$1–B$8)/C$8*C4+B4;B$1/C$8*C4).
Здесь, если сумма прежних зарплат больше выделенного фонда, вычисления производятся как и ранее, если нет – фонд делится между всеми работниками пропорционально их коэффициентам независимо от прежней зарплаты.
|
A |
B |
C |
D |
E |
|
В |
C |
D |
E |
1 |
ПРИЕМ НО |
ВЫХ |
АКЦИОН |
ЕРОВ |
|
|
ВЫХ |
АКЦИОН |
ЕРОВ |
|
2 |
|
Сум |
ма |
Сум |
ма |
|
Сум |
ма |
Сум |
ма |
3 |
Акционеры |
старых |
акций |
новых |
акций |
|
старых |
акций |
новых |
акций |
4 |
|
530т.р |
100,00% |
1230т.р |
100,00% |
|
=СУММ (B5:B10 |
=СУММ (C5:C10) |
=СУММ (D5:D10) |
=СУММ (E5:E10) |
5 |
Акционер1 |
100т.р |
18,87% |
100т.р |
8,13% |
|
100т.р |
=B5/B$4 |
100т.р |
=D5/D$4 |
6 |
Акционер2 |
150т.р |
28,30% |
150т.р |
12,20% |
|
150т.р |
=B6/B$4 |
150т.р |
=D6/D$4 |
7 |
Акционер3 |
200т.р |
37,74% |
200т.р |
16,26% |
|
200т.р |
=B7/B$4 |
200т.р |
=D7/D$4 |
8 |
Акционер4 |
80т.р |
15,09% |
80т.р |
6,50% |
|
80т.р |
=B8/B$4 |
80т.р |
=D8/D$4 |
9 |
Новый акционер1 |
|
|
400т.р |
32,52% |
|
|
|
400т.р |
=D9/D$4 |
10 |
Новый акционер2 |
|
|
300т.р |
24,39% |
Рис. 5.4 |
|
|
300т.р |
=D10/D$4 |
|
A |
B |
C |
|
C |
1 |
ПРИЕМ НОВЫХ АКЦИОНЕРОВ |
|
|
||
2 |
Акционеры |
100% |
100% |
|
=СУММ(С3:C8) |
3 |
Акционер1 |
20% |
14% |
|
=(1–(C$7+C$8))*B3 |
4 |
Акционер2 |
25% |
18% |
|
=(1–(C$7+C$8))*B4 |
5 |
Акционер3 |
20% |
14% |
|
=(1–(C$7+C$8))*B5 |
6 |
Акционер4 |
35% |
25% |
|
=(1–(C$7+C$8))*B6 |
7 |
Новый акционер1 |
|
20% |
|
20% |
8 |
Новый акционер2 |
|
10% |
Рис. 5.5 |
10% |
новые_права_старых_акционеров=(1–права_новых_акционеров)*старые_права_акционера.
Так для первого акционера С3=(1–(C$7+C$8))*B3. С целью проверки правильности вычислений вверху таблицы все проценты просуммированы (С2=100%).
Пример 5.6. Взаиморасчеты акционеров. Еще одна простая задача из “жизни акционеров”. Положим, для деятельности АО потребовалось срочно внести некоторую сумму (1200 т. руб.), которую и внесли те из акционеров, которые смогли быстро изыскать средства (колонка Внесено ранее). Нам нужно осуществить последующие перерасчеты между акционерами таким образом, чтобы все члены АО внесли суммы пропорциональные частям их собственности (колонка Внесено потом). С этой целью выполним следующие вычисления для каждого из акционеров
=всего_внесено_ранее * его_часть_собственности – им_внесено_ранее.
|
A |
B |
C |
D |
E |
|
D |
E |
1 |
|
ВЗН |
ОСЫ |
|
|
|
|
|
2 |
Ф.И.О. |
Часть соб- ственности |
Внесено ранее |
Внесено потом |
% взноса |
|
Внесено потом |
% взноса |
3 |
Акционер1 |
25% |
500 |
–200 |
25% |
|
=C$8*B3–C3 |
=(C3+D3)/C$8 |
4 |
Акционер2 |
30% |
100 |
260 |
30% |
|
=C$8*B4–C4 |
=(C4+D4)/C$8 |
5 |
Акционер3 |
20% |
|
240 |
20% |
|
=C$8*B5–C5 |
=(C5+D5)/C$8 |
6 |
Акционер4 |
10% |
|
120 |
10% |
|
=C$8*B6–C6 |
=(C6+D6)/C$8 |
7 |
Акционер5 |
15% |
600 |
–420 |
15% |
|
=C$8*B7–C7 |
=(C7+D7)/C$8 |
|
ВСЕГО |
100% |
1200 |
0 |
100% |
Рис. 5.6 |
=СУММ(D3:D7) |
=СУММ(E3:E7) |
Или в виде формулы для первого акционера: D3=C$8*B3–C3.
|
A |
B |
C |
D |
E |
F |
G |
1 |
Коэф. |
оплаты: |
воскр.: |
2 |
суббота: |
1,5 |
|
2 |
ТАБЕЛЬ И ЗАРПЛАТА |
||||||
3 |
Дата |
День недели |
Петр |
Иван |
Олег |
Всего часов |
Всего с коэфф. |
4 |
10р/ч |
8р/ч |
6р/ч |
||||
5 |
1.окт |
Вт |
|
9ч |
|
9ч |
9ч |
6 |
2.окт |
Ср |
8ч |
2ч |
8ч |
18ч |
18ч |
7 |
3.окт |
Чт |
|
|
|
|
|
8 |
4.окт |
Пт |
5ч |
6ч |
8ч |
19ч |
19ч |
9 |
5.окт |
Сб |
2ч |
10ч |
|
12ч |
18ч |
10 |
6.окт |
Вс |
9ч |
5ч |
8ч |
22ч |
44ч |
11 |
7.окт |
Пн |
8ч |
6ч |
|
14ч |
14ч |
12 |
8.окт |
Вт |
9ч |
7ч |
|
16ч |
16ч |
35 |
Всего часов: |
41ч |
45ч |
24ч |
110ч |
1 |
|
36 |
Часов с коэф.: |
51ч |
55ч |
32ч |
|
138ч |
|
37 |
Зарплата: |
510р |
440р |
192р |
1142р |
|
|
|
|
Рис. |
5.7а |
дол |
жно с |
овпасть |
=(внесено_сразу+внесено_потом)/внесено_всего.
Или для первого акционера: E3=(C3+D3)/C$8. Видим, что относительные размеры окончательных выплат совпали с размерами относительной собственности каждого из акционеров.
Пример 5.7. Ведение табельной ведомости. Создать таблицу табельной ведомости (документа, фиксирующего число отработанных часов) работников подразделения с расчетом их ежедневной и месячной заработной платы. Считаем, что здесь принята почасовая оплата труда, а рабочий график индивидуальный. Тарифная часовая ставка оплаты установлена своя для каждого работника (ячейки С4, D4, E4). Кроме того, установлена повышенная оплата труда в субботние (с коэффициентом 1,5) и воскресные (с коэффициентом 2) дни. В будний день коэффициент считается равным 1. Пусть, нужно создать таблицу за октябрь месяц. Для быстрого ввода дат месяца воспользуемся механизмом автозаполнения. Внесем в клетку А5 значение 1.окт, а затем мышью скопируем его вниз до конца месяца. Excel расставит нужные последовательные даты месяца автоматически. В столбец День недели введем выражение,
формирующее название дня недели B5= ВЫБОР(ДЕНЬНЕД(A5;2);"Пн";"Вт";"Ср";"Чт";"Пт";"Сб";"Вс"), где номер дня недели (ДЕНЬНЕД(A5;2)) замещается на его имя Пн, Вт и т.д.
В столбце Всего часов определяется сумма астрономических рабочих часов сотрудника (F5=СУММ(C5:E5)) за день, а в столбце Всего с коэффициентом – число часов с учетом увеличивающих коэффициентов за работу в выходные дни (G5=ЕСЛИ(B5="Вс";D$1;ЕСЛИ(B5="Сб";F$1;1))*F5). Таким образом, увеличение оплаты за работу в выходные дни трансформируется в увеличение отработанных часов при их обычной оплате. В итоговой строке 35 введены очевидные формулы суммирования отработанных часов вида С35=СУММ(C5:C34).
В строке 36 – находятся эквивалентные рабочие часы каждого из сотрудников в зависимости от тарифной ставки и работы в выходные
часы_с_коэфф.=общее_число_часов+
воскресных_часов*разность_между_к-том_воскресенья_и_будним_днем+
субботних_часов*разность_между_к-том_субботы_и_будним_днем.
Так, Петром отработано 45 час, а с учетом выходных: 41час+9час(2–1)+2час(1,5–1)=51час.
Или в виде формулы:
C36=C35+СУММЕСЛИ($B5:$B34;"Вс";C5:C34)*($D1–1)+СУММЕСЛИ($B5:$B34;"Сб";C5:C34)*($F1–1).
В строке 37 вычисляется заработок
зарплата=тарифная_ставка * часы_с_коэффициентом.
Отсюда его зарплата (55час*10руб/час=510руб): C37=C$4*C6.
Все Часы с коэфф. для всех работников просуммированы в клетке G36. Видим, что эта сумма (138 час.) совпала с вертикальной суммой, полученной в G35, что показывает правильность расчета эквивалентных часов. Вообще, если имеется какая-либо возможность альтернативного вычисления тех же самых величин, следует это сделать чтобы проверить правильность построения таблицы.
|
A |
B |
C |
D |
E |
F |
G |
|
1 |
Коэф. оплаты: |
Воскр.: |
2 |
Суббота: |
1,5 |
|
||
2 |
ТАБЕЛЬ И ЗАРПЛАТА |
|||||||
3 |
Дата |
День недели |
Петр |
|
Олег |
Всего часов |
Всего с коэфф. |
|
4 |
10р/ч |
8 |
6р/ч |
|||||
5 |
1.окт |
=ВЫБОР(ДЕНЬНЕД (A5;2);"Пн";"Вт";"Ср";"Чт";"Пт";"Сб";"Вс") |
2ч |
10ч |
|
=СУММ (C5:E5) |
=ЕСЛИ(B5="Вс"; D$1;ЕСЛИ(B5= "Сб";F$1;1))*F5 |
|
|
|
|
|
|
|
|
|
|
12 |
8.окт |
=ВЫБОР(ДЕНЬНЕД (A12;2);"Пн";"Вт";"Ср";"Чт";"Пт";"Сб";"Вс") |
9ч |
7ч |
|
=СУММ (C12:E12) |
=ЕСЛИ(B12="Вс"; D$1;ЕСЛИ(B12= "Сб";F$1;1))*F12 |
|
35 |
Всего часов: |
=СУММ(C5:C34) |
|
=СУММ(E5:E34) |
=СУММ (F5:F34) |
=СУММ(G5:G34) |
||
36 |
Часов с коэфф.: |
=C35+СУММЕСЛИ($B5: $B34;"Вс";C5:C34)*($D1-1) +СУММЕСЛИ($B5:$B34; “Сб”;C5:C34)*($F1-1) |
|
=E35+СУММЕСЛИ($B5: :$B34;"Вс";E5:E34)*($D1-1) +СУММЕСЛИ($B5:$B34; "Сб";E5:E34)*($F1-1) |
|
=СУММ(C36:E36) |
||
37 |
Зарплата: |
=C36*C$4 |
|
=E36*E$4 |
=СУММ( C37:E37) |
Рис. 5.7б |
К оформлению. Для ячеек С4:Е4 установлен пользовательский формат вида 0,0"р/ч", а для колонок F и G – формат [>0]#"ч";#. На рисунке табель показан по текущий день месяца (например, по 8 октября). Остальные пустые пока строки скрыты, с тем, чтобы не отвлекать внимание пользователя.
П
ример 5.8.
Расчеты с вкладчиками банка. Построить
таблицу вычисления годовой премии
вкладчику банка. Здесь возможно несколько
подходов:
1. Абсолютный размер премии исчисляется исходя из остатка на счету к концу года. Это самый простой и самый несправедливый способ. Если вкладчик 30 декабря снял крупную (или даже всю) сумму со счета, он получит маленькую премию (или не получит ничего) несмотря на то, что банк пользовался его деньгами весь год (пострадает клиент). Наоборот, если сумма была внесена на счет только 30 декабря, вкладчик получит большую премию за один день хранения, несмотря на то, что ранее на счету, возможно, не было ничего (пострадает банк). Учитывая, что в банке много клиентов, такие потери и приобретения банка, вероятнее всего будут взаимно скомпенсированы, однако этого не скажешь об отдельном вкладчике, особенно, если он понесет финансовый ущерб.
2. Премия исчисляется на основе значений остатков (S1, S2, S3, S4) на счету в каждом из четырех кварталов года. Здесь мы исходим из предположения, что в течение всего квартала на счету находилась именно эта величина. Это, конечно, не так, но лучше чем предыдущий подход. Тогда средний годовой остаток вычисляется как сумма всех этих остатков, деленная на число кварталов (S1+S2+S3+S4)/4. На рис. 5.8а искомое значение пропорционально сумме площадей прямоугольников с высотой Si. (закрашены), которую легко вычислить. Назовем поэтому этот метод методом прямоугольников. Ясно, что он имеет значительные погрешности, которые будут уменьшаться с уменьшением элементарных периодов расчета, например, до двух или одного месяцев и меньше.
3. Более точным будет исчисление среднего годового остатка как суммы среднеквартальных остатков (площадь под ломаной линией на рисунке), деленной на четыре.
средний_вклад_за_год=(ср._остаток_1_кв.+ср._остаток_2кв+ср._остаток 3кв+ср._остаток 4кв)/4
или [(S0+S1)/2+(S1+S2)/2+(S2+S3)/2+(S3+S4)/2]/4=[S0+S4+2(S1+S2+S3)]/8.
Назовем этот метод методом трапеций. В таблице на рис. 5.8б сделаны вычисления значения премий методами прямоугольников и трапеций. Для первого вкладчика это следующие формулы
G5=СУММ(C5:F5)/4*D$1, H5=(B5+F5+2*(C5+D5+E5))/8*D$1.
|
A |
B |
C |
D |
E |
F |
G |
H |
|
G |
H |
1 |
Проце |
нт прем |
ии |
10% |
|
|
|
|
|
|
|
2 |
СЧЕТА КЛИЕНТОВ |
|
|
|
|||||||
3 |
Номер |
Начало |
Остатки по кварталам |
Премия |
Премия |
|
Премия |
Премия |
|||
4 |
счета |
года |
I |
II |
III |
IV |
(прямоуг.) |
(трапеции) |
|
(прямоуг.) |
(трапеции) |
5 |
Счет1 |
0 |
0 |
40 |
120 |
200 |
9,0 |
6,50 |
|
=СУММ(C5:F5)/4*D$1 |
=(B5+F5+2*(C5+D5+E5))/8*D$1 |
6 |
Счет2 |
60 |
80 |
40 |
100 |
0 |
5,5 |
6,25 |
|
=СУММ(C6:F6)/4*D$1 |
=(B6+F6+2*(C6+D6+E6))/8*D$1 |
7 |
Счет3 |
350 |
300 |
200 |
150 |
100 |
18,8 |
21,88 |
|
=СУММ(C7:F7)/4*D$1 |
=(B7+F7+2*(C7+D7+E7))/8*D$1 |
8 |
Сумма |
410 |
380 |
280 |
370 |
300 |
33,3 |
34,63 |
|
=СУММ(G7:G7) |
=СУММ(H7:H7) |
Рис. 5.8б
Заметим, что задача нахождения среднего вклада является задачей вычисления определенного интеграла в заданных пределах, и здесь фактически использованы известные методы ее решения (метод прямоугольников и метод трапеций).
4. Все перечисленные методы являются приближенными, поскольку предполагают довольно грубые допущения в отношении сумм на счетах в течение некоторого периода. Как уже указывалось, более точным будет подсчет среднего значения не по кварталам, а по меньшим периодам, но абсолютно точным был бы учет фактического времени нахождения средств клиента на счетах в каждый момент времени. Этот механизм может быть реализован только с привлечением средств программирования (языка VBA), имеющихся в Excel.
Пример 5.9. Продуктовый расчет. При планировании производственной программы, например, в пищевой промышленности, необходимо иметь полное представление об ожидаемых абсолютных потерях и объемном/весовом количестве продукта на каждом этапе обработки. Поскольку все пищевое производство (виноделие, консервирование, хлебобулочная промышленность) является многоступенчатым, контроль за этими параметрами здесь чрезвычайно актуален и осуществляется с помощью так называемого продуктового расчета.
перекачка
отстой фильтрация выдержка
розлив
К1
К2
К3
К4 К5
Рис. 5.9а
Пвх
На рис. 5.9а, например, изображена типовая технологическая цепочка обработки виноматериалов. Относительные нормативные потери на каждом из этапов обработки известны из опытных данных и заданы директивно. Обозначим (рис. 5.9б): Пвх – количество продукта на входе всего процесса или его отдельного этапа, Пвых – количество продукта на выходе, К – коэффициент потерь на этапе обработки, – объем потерь на этапе обработки в абсолютном исчислении. Отсюда можем записать рабочие формулы для каждого этапаПвых=Пвх–, где КПвх
Задача может быть поставлена как прямая (известен объем сырья, нужно найти объем продукта), так и как обратная (известен объем продукта, найти объем потребного для него сырья).
Прямая задача. Заданы: исходное количество продукта (сырья) на входе процесса к началу обработки Пвх, количество этапов обработки N и коэффициенты нормативных потерь на каждом i-ом этапе – Кi от поступившего на данный вид обработки объема продукта. Вычислить абсолютные величины потерь на каждом этапе обработки i и итоговый выход продукта Пвых.
Обратная задача. Задано потребное количество готового продукта Пвых. Вычислить абсолютные величины потерь на каждом этапе обработки i и необходимое количество исходного продукта Пвх.
Рабочие формулы для каждого этапа обратной задачи: ПвыхК/(1–К) и Пвх=Пвых+
На основании простых рассуждений можно записать итоговые формулы расчета конечного/начального (Пвых/Пвх) продукта для прямой/обратной задачи для всего процесса в целом
Пвых=Пвх(1–К1)(1–К2) ... (1–КN), Пвх=Пвых/((1–К1) (1–К2) ... (1–КN)).
Решение задачи прямого продуктового расчета приведено в верхней части рис. 5.9в, а формулы рабочего листа на рис. 5.9г. Исходное количество сырья для наглядности взято равным 100. При трехэтапной обработке с относительными потерями в 0,05, 0,11 и 0,02 итоговый выход продукта составит 82,859.
Решение обратной задачи изображено на тех же рисунках в их нижней половине. В качестве выхода технологического процесса взято значение, ранее найденное в прямой задаче (82,859). Как видим, в результате расчетов для обратной задачи получено число 100, т.е. вычисления выполнены верно.
Если вспомнить задачу 5.2, можно заметить, что прямой продуктовый расчет очень похож на задачу определения вклада для сложных процентов. Только там происходит наращивание вклада, а здесь уменьшение продукта. Это обстоятельство можно учесть, изменив на минус знаки при всех коэффициентах потерь. Тогда объем продукта на выходе получим воспользовавшись функцией
=БЗРАСПИС(C2;{–0,05;–0,11;–0,02}) =82,859 или (введя выражение как массив) {=БЗРАСПИС(C2;–B4:B6)} =82,859.
Пример 5.10. Продуктовый расчет с дополнительным сырьем.
Продуктовый расчет, выполненный выше, предполагает, что перерабатывается только исходный продукт. На практике, часто в технологическом процессе предусмотрено внесение (или изъятие) на разных его этапах дополнительных компонентов. Объем вносимого элемента зависит от объема продукта, поступающего на обработку. Решим такую задачу. В таблицу продуктового расчета внесем новый столбец Дополнительное сырье, где разместим коэффициенты (проценты), связывающие объем дополнительного материала с объемом исходного для данного этапа.
Для первого этапа в таблице сформируем выражения:
объем_потерь=коэффициент_потерь*(исходный_объем+дополнительный_объем).
Для любого следующего этапа
объем_на_выходе=исходный_объем+дополнительное_сырье–объем_потерь.
Или в форме клеточных функций: D4=C4*(C2+C2*B4)=C4*C2*(1+B4), E4=C2+C2*B4–D4=C2*(1+B4)–D4.
|
A |
B |
C |
D |
|
|||
1 |
ПРОДУКТОВЫЙ РАСЧЕТ (прямая задача) |
|
||||||
2 |
Объем сырья: |
100 |
|
|
||||
3 |
Этап |
Коэфф. потерь |
Объем потерь |
Объем продукта на выходе |
|
|||
4 |
1 |
0,05 |
5,000 |
95,000 |
|
|||
5 |
2 |
0,11 |
10,450 |
84,550 |
|
|||
6 |
3 |
0,02 |
1,691 |
82,859 |
|
|||
7 |
|
|
|
|
|
|||
8 |
ПРОДУКТОВЫЙ РАСЧЕТ (обратная задача) |
|
||||||
9 |
Объем продукта: |
82,859 |
|
|
||||
10 |
Этап |
Коэфф. потерь |
Объем потерь |
Объем продукта на входе |
|
|||
11 |
3 |
0,02 |
1,691 |
84,550 |
|
|||
12 |
2 |
0,11 |
10,450 |
95,000 |
|
|||
13 |
1 |
0,05 |
5,000 |
100,000 |
|
|||
|
|
|
|
|
||||
|
|
|||||||
|
|
|||||||
|
|
|||||||
|
|
|||||||
|
|
|||||||
|
|
|||||||
|
|
|||||||
|
|
|||||||
|
|
|||||||
|
|
|||||||
|
|
|||||||
|
|
|||||||
|
|
|
A |
B |
C |
D |
1 |
ПРОДУКТОВЫЙ РАСЧЕТ (прямая задача) |
|||
2 |
Объем сырья: |
100 |
|
|
3 |
Этап |
Коэфф. потерь |
Объем потерь |
Объем продукта на выходе |
4 |
1 |
0,05 |
=B4*C2 |
=C2–C4 |
5 |
2 |
0,11 |
=B5*D4 |
=D4–C5 |
6 |
3 |
0,02 |
=B6*D5 |
=D5–C6 |
7 |
|
|
|
|
8 |
ПРОДУКТОВЫЙ РАСЧЕТ (обратная задача) |
|||
9 |
Объем продукта: |
82,859 |
|
|
10 |
Этап |
Коэфф. потерь |
Объем потерь |
Объем продукта на входе |
11 |
3 |
0,02 |
=C9*B11/(1–B11) |
=C9+C11 |
12 |
2 |
0,11 |
=D11*B12/(1–B12) |
=D11+C12 |
13 |
1 |
0,05 |
=D12*B13/(1–B13) |
=D12+C13 |
Рис. 5.9в Рис. 5.9г
В случае, если речь идет об изъятии продукта, элементы в столбце В вводятся со знаком минус. Аналогичным образом строятся формулы для остальных этапов.
Хотя приведенный выше расчет рассматривался именно как продуктовый, очевидно, подобные же технологические (и не технологические) процессы существуют и в других отраслях производства и коммерческой деятельности.
|
A |
B |
C |
D |
Е |
|
D |
Е |
||||||||||||
1 |
ПРОДУКТОВЫЙ РАСЧЕТ (прямая задача) |
|
|
|
||||||||||||||||
2 |
Объем сырья: |
100 |
|
|
|
|
|
|||||||||||||
3 |
Этап |
Доп. сырье |
Коэф. потерь |
Объем потерь |
Объем на выходе |
|
Объем потерь |
Объем на выходе |
||||||||||||
4 |
1 |
1% |
0,05 |
5,050 |
95,950 |
|
=C4*C2*(1+B4) |
=C2*(1+B4)–D4 |
||||||||||||
5 |
2 |
30% |
0,11 |
13,721 |
111,014 |
|
=C5*E4*(1+B5) |
=E4*(1+B5)–D5 |
||||||||||||
6 |
3 |
20% |
0,02 |
2,664 |
130,553 |
Рис. 5.10 |
=C6*E5*(1+B6) |
=E5*(1+B6)–D6 |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
A |
B |
C |
D |
E |
F |
G |
H |
1 |
Работники |
Оценки |
Всего КТУ |
КТУ |
КТУ1 |
|||
2 |
Петр |
0,90 |
0,70 |
0,70 |
0,90 |
3,20 |
0,277 |
0,98 |
3 |
Иван |
0,60 |
0,55 |
0,60 |
0,40 |
2,15 |
0,186 |
0,66 |
4 |
Олег |
0,80 |
0,80 |
0,55 |
0,80 |
2,95 |
0,255 |
0,91 |
5 |
Вера |
0,90 |
0,90 |
0,45 |
1,00 |
3,25 |
0,281 |
1,00 |
6 |
Сумма |
|
|
|
|
11,55 |
|
|
|
|
|
|
Рис. |
5.11 |
|
|
|
КТУ_работника=Всего_КТУ_работника/Сумма_КТУ_бригады.
Эти значения (в таблице колонка G) уже можно использовать для оценки результатов труда, однако более удобно, если они находятся в том же диапазоне, что и исходные оценки, т.е. в диапазоне от 0 до 1. Назовем его КТУ1 (столбец Н)
КТУ1_работника=КТУ_работника/МАКС(КТУ_всех_работников).
Рабочие формулы для первого работника приведены ниже
F2=СУММ(B2:E2), F6=СУММ(F2:F5), G2=F2/F$6, H2=G2/МАКС(G$2:G$5).
|
A |
B |
C |
D |
E |
F |
1 |
|
Весовые коэффициенты |
|
|||
2 |
|
Упаковка |
Цвет |
Консистенция |
Вкус |
|
3 |
|
1 |
0,7 |
1,5 |
2 |
|
4 |
ЭКСПЕРТНЫЕ ОЦЕНКИ |
|||||
5 |
Оценки |
Упаковка |
Цвет |
Консистенция |
Вкус |
Итог |
6 |
Эксперт1 |
3 |
5 |
4 |
8 |
|
7 |
Эксперт2 |
4 |
7 |
5 |
7 |
|
8 |
Эксперт3 |
5 |
8 |
5 |
9 |
|
9 |
Эксперт4 |
6 |
7 |
6 |
6 |
|
10 |
Всего |
4,5 |
4,9 |
7,5 |
15 |
31,9 |
|
|
|
Рис. |
5.12 |
|
|
B10=(СУММ(B6:B9)–МАКС(B6:B9)–МИН(B6:B9))*B3/2, C10=(СУММ(C6:C9)–МАКС(C6:C9)–МИН(C6:C9))*C3/2,
D10=(СУММ(D6:D9)–МАКС(D6:D9)–МИН(D6:D9))*D3/2, E10=(СУММ(E6:E9)–МАКС(E6:E9)–МИН(E6:E9))*E3/2.
Их сумма и даст интегральную оценку качества данного продукта, подвергшегося экспертизе (у нас 31,9 балла) F10=СУММ(B10:E10), на основании которой далее можно сравнивать между собой аналогичные продукты и принять решение об их дальнейшей коммерческой судьбе.
К оформлению таблицы. Здесь мы выделим жирным курсивным шрифтом для каждого из параметров оценки, не принимаемые в расчет (т.е. максимальные и минимальные значения). Для этого придется прибегнуть к условному форматированию клеток с оценками следующего вида (например для В6):
Условие 1 формула =ИЛИ(B6=МАКС(B$6:B$9);B6=МИН(B$6:B$9))
Пример 5.13. Расчет сдельной зарплаты. Построить таблицу вычисления сдельной (т.е. пропорциональной количеству произведенной продукции) зарплаты, а также налога и суммы на руки.
Зарплата работника определяется числом обработанных деталей, умноженным на стоимость обработки. Если работник допустил брак и испортил деталь, ее стоимость вычитается из заработка
зарплата=обработано_деталей*стоимость_работы – деталей_брака * стоимость_детали.
Таким образом, Зарплата Ивана будет определяться формулой D6=B6* C$2–C6*C$3. Полагаем, что налог исчисляется в зависимости от зарплаты: если она выше 5000 – налог составляет 20%, если нет – 13%.
Иными словами сумма_налога=зарплата*ЕСЛИ(зарплата >5000, то 13%, иначе 20%) или
E6=D6*ЕСЛИ(D6>=5000;F$1;C$1). Сумма на руки – F6=D6–E6. Итог по вертикали F9=СУММ(F6:F8).
|
A |
B |
C |
D |
E |
F |
1 |
Налог до: |
5000р |
13% |
Налог от: |
5000р |
20% |
2 |
Стоимость |
работы: |
80 |
|
|
|
3 |
Стоимость |
детали: |
200 |
|
|
|
4 |
РАСЧЕТ ЗАРПЛАТЫ |
|||||
5 |
Работник |
Обработано деталей |
Деталей брака |
Зарплата |
Сумма налога |
Сумма на руки |
6 |
Петр |
75 |
2 |
5600 |
1120,0 |
4480,0 |
7 |
Иван |
12 |
|
960 |
124,8 |
835,2 |
8 |
Олег |
62 |
4 |
4160 |
540,8 |
3619,2 |
9 |
ВСЕГО |
149 |
6 |
10720 |
2144,0 |
8934,4 |
|
|
|
Рис. |
5.13а |
|
|
Е6=D6*ЕСЛИ(D6<=0;0;ЕСЛИ(D6>=5000;F$1;C$1)).
Замечание к условию задачи. Следует отметить, что с 2001г. в России с физических лиц прогрессивный подоходный налог (когда процент налога увеличивается с увеличением доходов) заменен на фиксированный в 13% независимо от доходов и исчисление налогов сильно упростилась. Однако, автор оставил этот и другие такого рода примеры в книге по двум причинам: с юридических лиц налоги берутся аналогичным образом (но по регрессивной шкале); сам механизм исчисления налогов имеет хождение не только для налогов и не только в денежном обращении и поэтому представляет самостоятельный интерес.
|
C |
D |
E |
F |
|
1 |
13% |
Налог от: |
5000р |
20% |
|
2 |
80 |
|
|
|
|
3 |
200 |
|
|
|
|
5 |
Деталей брака |
Зарплата |
Сумма налога |
Сумма на руки |
|
6 |
2 |
=B6*C$2–C6*C$3 |
=D6*ЕСЛИ(D6<=0;0;ЕСЛИ(D6>=5000;F$1;C$1)) |
=D6–E6 |
|
7 |
|
=B7*C$2–C7*C$3 |
=D7*ЕСЛИ(D7<=0;0;ЕСЛИ(D7>=5000; F$1;C$1)) |
=D7–E7 |
|
8 |
4 |
=B8*C$2–C8*C$3 |
=D8*ЕСЛИ(D8<=0;0;ЕСЛИ(D8>=5000;F$1;C$1)) |
=D8–E8 |
|
9 |
=СУММ(C6:C8) |
=СУММ(D6:D8) |
=СУММ(E6:E8) |
=СУММ(F6:F8) |
Рис. 5.13б |
К оформлению. Для удобства последующего анализа данных сделаем так, чтобы работник, имеющий максимальный заработок, был выделен красным цветом, а минимальный – желтым. Для этого понадобится прибегнуть к условному форматированию клеток F6, F7, F8 вида:
Условие 1 значение равно =МАКС(F$6:F$8) – красный фон
Условие 2 значение равно =МИН(F$6:F$8) – желтый фон
|
A |
B |
C |
D |
E |
F |
1 |
|
Тарифная сетка |
|
|
||
2 |
Разряд: |
1 |
2 |
3 |
4 |
5 |
3 |
Тариф: |
30 |
40 |
50 |
70 |
90 |
4 |
Премия: |
100 |
120 |
135 |
150 |
160 |
5 |
|
З А Р П Л А Т А |
|
|
||
6 |
Работник |
Дней |
Разряд |
Зарплата |
Премия |
Начислено |
7 |
Петр |
20 |
2 |
800 |
120 |
920 |
8 |
Иван |
10 |
3 |
500 |
135 |
635 |
9 |
Олег |
15 |
5 |
1350 |
160 |
1510 |
10 |
ВСЕГО |
45 |
|
2650 |
415 |
3065 |
|
|
|
Рис. |
5.14а |
|
|
зарплата=дней*тариф_по_разряду.
Для розыска разрядного тарифа нам понадобится функция горизонтального поиска ГПР(). Например, для Петра должна быть использована формула D7= ГПР(C7;B$2:F$4;2;0)*B7. Премия также зависит от разряда E7=ГПР(C7;B$2 :F$4;3;0). Всего работнику будет начислена сумма F7=E7+D7. В данном примере расчет начисленной суммы только для наглядности был разложен на отдельные компоненты. Ничто не мешает нам, при необходимости, соединить все формулы в одну, уменьшив размер таблицы F7=ГПР(C7;B$2:F$4;2;0)*B7+ ГПР(C7; B$2:F$4;3;0).
|
A |
B |
C |
D |
E |
F |
1 |
Тарифная сетка |
|||||
2 |
Разряд: |
1 |
2 |
3 |
4 |
5 |
3 |
Тариф: |
30 |
40 |
50 |
70 |
90 |
4 |
Премия: |
100 |
120 |
135 |
150 |
160 |
5 |
|
|
З А Р П Л А Т А |
|
|
|
6 |
Работник |
Дней |
Разряд |
Зарплата |
Премия |
Начислено |
7 |
Петр |
21 |
2 |
=ГПР(C7;B$2:F$4;2;0)*B7 |
=ГПР(C7;B$2:F$4;3;0) |
=E7+D7 |
8 |
Иван |
25 |
4 |
=ГПР(C8;B$2:F$4;2;0)*B8 |
=ГПР(C8;B$2:F$4;3;0) |
=E8+D8 |
9 |
Олег |
18 |
5 |
=ГПР(C9;B$2:F$4;2;0)*B9 |
=ГПР(C8;B$2:F$4;3;0) |
=
Рис. 5.14б
|
10 |
ВСЕГО |
=СУММ(B7:B9) |
|
=СУММ(D7:D9) |
=СУММ(E7:E9) |
=СУММ(F7:F9) |
Пример 5.15. Расчет зарплаты с учетом квалификации работника (должностного класса) и коэффициента (КТУ) трудового участия. Здесь класс и КТУ одинаковым образом влияют на заработок, но только класс присваивается “навсегда” (до пересмотра), а КТУ изменяется в зависимости от качества исполнения конкретной работы.
Положим, заказчик оценил всю работу в 10000 руб. и выдал аванс в размере 4000 руб., который и был распределен между людьми произвольным образом (кто сколько попросил). Наша задача состоит в том, чтобы по завершении работы распределить остальную часть заработанного (6000 руб.).
Прежде всего необходимо определить влияние класса и КТУ на размеры выплат. Найдем сумму этих величин. Поскольку коэффициент доплат за класс работника имеет тот же смысл, что и КТУ, то эта сумма образуется сложением пар сомножимых, образованных из обеих величин. В нашем случае это
итого_КТУ=1*1,4+2*1,2+3*1=3,7 или D9=СУММПРОИЗВ(C6:C8;D6:D8).
|
A |
B |
C |
D |
E |
F |
G |
1 |
Всего: |
10000 |
Аванс: |
4000 |
Остаток: |
6000 |
|
2 |
Надбавки за класс |
класс: |
1 |
2 |
3 |
|
|
3 |
коэфф.: |
1,4 |
1,2 |
1 |
|
|
|
4 |
РАСПРЕДЕЛЕНИЕ ЗАРПЛАТЫ |
||||||
5 |
Имя |
Класс |
Коэфф. за класс |
КТУ |
Получен аванс |
Заработано |
Выдать остаток |
6 |
Петр |
1 |
1,4 |
1 |
1000 |
3784 |
2784 |
7 |
Иван |
2 |
1,2 |
1,5 |
800 |
4865 |
4065 |
8 |
Олег |
3 |
1 |
0,5 |
2200 |
1351 |
–849 |
9 |
ИТОГО |
|
|
3,7 |
4000 |
10000 |
6
Рис. 5.15а
|
|
C |
D |
E |
F |
G |
|
|
|
|
|
|
5 |
Коэфф. за класс |
КТУ |
Получен аванс |
Зара ботано |
Выдать остаток |
6 |
=ГПР(B6;C$2:E$3;2;0) |
1 |
100 |
=B$1/D$9*C6*D6 |
=F6–E6 |
7 |
=ГПР(B7;C$2:E$3;2;0) |
1,5 |
80 |
=B$1/D$9*C7*D7 |
=F7–E7 |
8 |
=ГПР(B8;C$2:E$3;2;0) |
0,5 |
220 |
=B$1/D$9*C8*D8 |
=F8–E8 |
9 |
|
=СУММПРОИЗВ (C6:C8;D6:D8) |
=СУММ(E6:E8) |
=СУММ(F6:F8) |
=
Рис. 5.15б
|
Теперь можно определить причитающуюся рабочему сумму
заработано=всего*коэфф._за_класс*КТУ/итого_КТУ для первого рабочего это F6=$B$1*C6*D6/D$9.
Поскольку работник уже получил аванс, ему предстоит выдать (а может быть и взыскать с него, если аванс не был “отработан”) сумму выдать_остаток=заработано–получен_аванс или G6=F6–E6.
Правильность наших расчетов подтверждает совпадение значений F9=B1 и G9=F1.
Пример 5.16. Распределение премии. Положим, отделу выделена недельная премия-помощь в размере 800 руб. Ее нужно поделить между сотрудниками следующим образом – малооплачиваемым (считаем таковыми тех, у кого недельный заработок менее пяти минимальных зарплат) делается доплата до 5 минимальных зарплат, а остаток делится между всеми пропорционально зарплате. Сформируем необходимые выражения.
1. Рассчитаем помощь малооплачиваемым. Сначала найдем ее в предположении, что выделенная сумма покрывает необходимые доплаты. Назовем ее максимально возможной помощью
помощь_максимальная=если(зарплата<5*мин._зарплата, то 5*мин._зарплата – зарплата, иначе 0).
|
A |
B |
C |
D |
E |
1 |
Премия: |
800 |
|
Мин.зарп: |
100 |
2 |
РАСПРЕДЕЛЕНИЕ ПРЕМИИ |
||||
3 |
Имя |
Зарп- лата |
Помощь |
Итого |
|
4 |
максим. |
фактич. |
|||
5 |
Петр |
400 |
100 |
100 |
120 |
6 |
Ольга |
1200 |
0 |
0 |
60 |
7 |
Иван |
300 |
200 |
200 |
215 |
8 |
Олег |
100 |
400 |
400 |
405 |
9 |
Всего |
2000 |
700 |
700 |
800 |
|
|
Рис. |
5.16а |
|
|
помощь_фактическая=если(
общая_максимальная_помощь < премии,
то помощь_максимальная, иначе помощь_
максимальная*премия/общая_максимальная_помощь).
2. Остаток премии (если есть) делится уже между всеми работниками (включая и малооплачиваемых) пропорционально их зарплате
итого=если(общая_фактическая_помощь<премии, то
(помощь – общая_фактическая_помощь)/
общая_зарплата*зарплата) + помощь_фактическая.
Правильность расчетов подтверждает то, что B1=E9.
|
A |
B |
C |
D |
E
A
B
1
Дата
Цена
$
2
04.янв
21,1р
3
05.янв
22,2р
4
06.янв
22,4р
5
07.янв
22,6р
6
08.янв
22,3р
7
11.янв
22,6р
8
12.янв
22,8р
Рис. 5.17а. Лист
Курс |
|||||||||||||||||||||||||||
1 |
Премия: |
800 |
|
Мин.зарп: |
100 |
|||||||||||||||||||||||||||
2 |
РАСПРЕДЕЛЕНИЕ ПРЕМИИ |
|||||||||||||||||||||||||||||||
3 |
Имя |
Зарплата |
Помощь |
Итого |
||||||||||||||||||||||||||||
4 |
максим. |
фактич. |
|
|||||||||||||||||||||||||||||
5 |
Петр |
400 |
=ЕСЛИ(B5<5* E$1;5*E$1–B5;0) |
=ЕСЛИ(C$9<=B$1; C5;C5*B$1/$C$9) |
=ЕСЛИ(D$9<B$1; (B$1–D$9)/B$9*B5)+D5 |
|||||||||||||||||||||||||||
|
|
|
. . . |
|
||||||||||||||||||||||||||||
8 |
Олег |
100 |
=ЕСЛИ(B8<5* E$1;5*E$1–B8;0) |
=ЕСЛИ(C$9<=B$1; C8;C8*B$1/C$9) |
=ЕСЛИ(D$9<B$1; (B$1–D$9)/B$9*B8)+D8 |
|||||||||||||||||||||||||||
9 |
Всего |
=СУММ(B5:B8) |
=СУММ(C5:C8) |
=СУММ(D5:D8) |
=СУММ(E5:E8) |
Рис. 5.16б
|
A |
B |
C |
D |
E |
F |
1 |
Сегодня: |
13.янв |
|
|
|
|
2 |
Товар закуплен |
Цена закупки |
Дата и курс конвертиров. |
Цена закупки |
Цена сегодня |
|
3 |
04.янв |
100$ |
04.янв |
21,1р |
2 110р |
2 280р |
4 |
06.янв |
50$ |
06.янв |
22,4р |
1 120р |
1 140р |
5 |
09.янв |
80$ |
08.янв |
22,3р |
1 784р |
1 824р |
6 |
10.янв |
30$ |
08.янв |
22,3р |
669р |
684р |
7 |
11.янв |
70$ |
11.янв |
22,6р |
1 582р |
1 596р |
8 |
12.янв |
100$ |
12.янв |
22,8р |
2 280р |
2 280р |
Рис. 5.17б. Лист Товар |
|
B |
C |
D |
E |
F |
1 |
=СЕГОДНЯ() |
|
|
|
|
2 |
Цена закупки |
Дата и курс конвертирования |
Цена закупки |
Цена сегодня |
|
3 |
100$ |
=ВПР(A3;Курс! A$2:B$240;1;1) |
=ВПР(A3;Курс! A$2:B$240;2;1) |
=D3*B3 |
=ВПР(B$1;Курс! A$2:B$240;2;1)*B3 |
4 |
50$ |
=ВПР(A4;Курс! A$2:B$240;1;1) |
=ВПР(A4;Курс! A$2:B$240;2;1) |
=D4*B4 |
=ВПР(B$1;Курс! A$2:B$240;2;1)*B4 |
5 |
80$ |
=ВПР(A5;Курс! A$2:B$240;1;1) |
=ВПР(A5;Курс! A$2:B$240;2;1) |
=D5*B5 |
=ВПР(B$1;Курс! A$2:B$240;2;1)*B5 |
|
|
Рис. 5.17в. |
Лист Товар |
|
|
A
B
C
D
1
Дата
Курс
$
Курс DM
Курс
₤
2
04.янв
21,1р
16,9р
30,4р
3
05.янв
22,2р
17,8р
32,0р
4
06.янв
22,4р
17,9р
32,2р
5
07.янв
22,6р
18,1р
32,6р
6
08.янв
22,3р
17,8р
32,0р
7
11.янв
22,6р
18,1р
32,6р
8
12.янв
22,8р
18,2р
32,8р
Рис. 5.18а. Лист Курс
Пример 5.18. Конвертирование в различные виды валют. Похожий пример, но покупка товара у зарубежных поставщиков может быть осуществлена не только в долларах, но также в немецких марках и в английских фунтах стерлингов, для чего в таблицу курсов валют включены соответствующие столбцы (на рисунке показана только часть листа Курс). В листе Товар введен столбец Вид валюты, где может быть задан один из символов Д, М, Ф, обозначающих доллар, марку и фунт. В колонку С вводится цена в соответствующей валюте. Рублевая цена товара находится так же, как и ранее, но номер столбца, из которого извлекается курс, зависит от символа валюты, который ищется в строке “ДМФ” с помощью функции ПОИСК(B3; "ДМФ"). Если B3 равно Д, М или Ф, результатом применения функции будет число 1, 2 или 3. Поскольку курсы этих валют находятся соответственно во второй, третьей и четвертой колонках листа Курс, для поиска в курсовой таблице к результату нужно прибавить единицу (ПОИСК(…)+1). Тогда справедливо
D3=ВПР(A3;Курс!A$2:D$241;ПОИСК(СТРОЧН(B3);"ДМФ")+1;1)*C3.
Здесь к клетке D3 применена функция преобразования строчных букв в прописные СТРОЧН(). Это позволит вводить в колонку Вид валюты не только буквы Д, М, Ф, но и д, м, ф. Ввод любого другого символа (как, например, в строке 8) порождает сообщение об ошибке вида #ЗНАЧ!, которое пользователь легко обнаружит. Аналогично находится Цена сегодня.
E3=ВПР($B$1;Курс!A$2:D$241;ПОИСК(СТРОЧН(B3);"ДМФ")+1;1)*C3.
|
A |
B |
C |
D |
E |
1 |
Сегодня: |
05.фев |
|
|
|
2 |
Товар закуплен |
Вид валюты |
Цена закупки |
Цена сегодня |
|
3 |
04.янв |
д |
100 |
2 110р |
2 280р |
4 |
06.янв |
ф |
50 |
1 610р |
1 640р |
5 |
09.янв |
ф |
80 |
2 560р |
2 624р |
6 |
10.янв |
д |
30 |
669р |
684р |
7 |
11.янв |
м |
70 |
1 267р |
1 274р |
8 |
12.янв |
х |
10 |
#ЗНАЧ! |
#ЗНАЧ! |
|
Рис. 5.18б. Лист Товар |
Пример 5.19. Турнирная таблица. Создать таблицу определения призеров по результатам чемпионата. Положим, в играх участвуют три команды. Для каждой игры фиксируется ее счет – число забитых и пропущенных голов (колонки “з” и “п”). В колонке “о” вычисляется число очков, полученных по результатам игры. Считается, что проигрыш приносит 0 очков, ничья – одно, выигрыш – два. Если игры еще не было, клетка остается пустой ("").
Ф
ормулы
для вычисления очков по игре приведены
ниже
D4=ЕСЛИ(B4>C4;2;ЕСЛИ(ЕПУСТО(B4);"";ЕСЛИ(B4=C4;1;0))),
G4=ЕСЛИ(E4>F4;2;ЕСЛИ(ЕПУСТО(E4);"";ЕСЛИ(E4=F4;1;0))),
J4=ЕСЛИ(H4>I4;2;ЕСЛИ(ЕПУСТО(H4);"";ЕСЛИ(H4=I4;1;0))),
M4=ЕСЛИ(K4>L4;2;ЕСЛИ(ЕПУСТО(K4);"";ЕСЛИ(K4=L4;1;0))).
По итогам чемпионата формируются сводные данные:
1. Число сыгранных игр. Здесь подсчитывается количество всех непустых клеток в диапазоне, где фиксируются игры, и делится на три (три клетки занимаются под каждую игру). Из числа непустых ячеек вычитается единица, чтобы не учитывалась заштрихованная клетка, в которой находится формула вычисления очков, находящаяся на пересечении строки и столбца для одной и той же команды (например, D4).
|
A |
B |
C |
D
Турнирная
таблица |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
Спартак |
|
|
Динамо |
|
|
ЦСКА |
|
|
Фили |
|
Игр |
Очков |
Забито |
Пропущено |
Разность |
Очки + разность |
МЕСТО |
3 |
Команды |
з |
п |
о |
з |
п |
о |
з |
п |
о |
з |
п |
о |
|
|
|
|
|
|
|
4 |
Спартак |
|
|
|
1 |
1 |
1 |
2 |
3 |
0 |
3 |
4 |
0 |
3 |
1 |
6 |
8 |
–2 |
1,098 |
4 |
5 |
Динамо |
1 |
1 |
1 |
|
|
|
3 |
2 |
2 |
2 |
0 |
2 |
3 |
5 |
6 |
3 |
3 |
5,103 |
1 |
6 |
ЦСКА |
3 |
2 |
2 |
2 |
3 |
0 |
|
|
|
|
|
|
2 |
2 |
5 |
5 |
0 |
2,100 |
2 |
7 |
Фили |
4 |
3 |
2 |
0 |
2 |
0 |
|
|
|
|
|
|
2 |
2 |
4 |
5 |
–1 |
2,099 |
3 |
|
|
|
|
|
|
|
Рис. 5.19 |
|
|
|
|
|
|
|
3.4. Аналогично подсчитывается число забитых и пропущенных голов.
5. Разность забитых и пропущенных голов.
6. Число очков с учетом соотношения забитых и пропущенных голов. Может случиться так, что некоторые команды будут иметь одинаковое число очков по результату чемпионата (у нас ЦСКА и Фили имеют по 2 очка). В этом случае место в чемпионате определяется по лучшей (большей) разности забитых и пропущенных голов. Чтобы учесть ее влияние, к сумме очков прибавляется некоторая величина, являющаяся функцией разности. Она должна быть такой, чтобы в итоге целая часть суммы очков не изменилась (малое положительное число). Для этого к разности очков сначала прибавляется 100 (чтобы избежать возможности уменьшения числа очков, если разность отрицательна), затем результат делится на 1000 (чтобы избежать изменения целой части результата) и все это прибавляется к сумме добытых командой очков. Таким образом, ЦСКА и Фили будут иметь уже не по 2 очка, а 2,1 и 2,099 очков соответственно, что отражает лучшее положение команды ЦСКА в турнире. В дальнейшем этот столбец, служащий для технических целей, может быть скрыт от пользователя, как, кстати, и столбцы “о”.
7. Занятое место в чемпионате определяется функцией РАНГ().
Соответствующие формулы для первой команды приведены ниже
Игр сыграно: N4=(СЧЁТЗ(B4:M4)–1)/3, Очки+Разность (голов): S4=O4+(R4+100)/1000,
Очков команды: O4=СУММЕСЛИ(B$3:$M$3;"=о";B4:M4), Место (в турнире): T4=РАНГ(S4;S$4:S$7),
Забито голов: P4=СУММЕСЛИ(B$3:$M$3;"=з";B4:M4), Разность забитых и пропущенных голов: R4=P4–Q4,
Пропущено голов: Q4=СУММЕСЛИ(B$3:$M$3;"=п";B4:M4).
|
A |
B |
C |
D |
E |
F |
1 |
Сумма: |
0 |
2000 |
4000 |
6000 |
10000 |
2 |
Налог: |
0% |
12% |
15% |
20% |
30% |
3 |
Мин.зарп. |
80 |
|
|
|
|
4 |
|
РАСЧЕТ НАЛОГОВ |
|
|
||
5 |
Работник |
Детей |
Доход |
Сумма обложения |
Налог |
Сумма на руки |
6 |
Петр |
|
1000 |
1000 |
0,0 |
1000,0 |
7 |
Иван |
1 |
12000 |
11920 |
3576,0 |
8344,0 |
8 |
Олег |
2 |
5000 |
4840 |
726,0 |
4114,0 |
9 |
ВСЕГО |
|
18000 |
18000 |
5400,0 |
13458,0 |
|
|
|
|
Рис. 5.20а |
|
|
Для вычисления удержаний в таблицу внесен технический столбец Сумма обложения, где из дохода вычитается необлагаемая налогом часть
сумма_обложения=доход–детей*миним._зарплата для Петра это D6=C6–B6*B$3.
Если доход мал, сумма может оказаться меньше нуля. Чтобы не допускать отрицательных значений, используется функция вычисления максимума от двух аргументов – нуля и облагаемой суммы. Таким образом, если результат отрицательный, сумма обложения будет равна нулю (D6=МАКС(0;C6–B6*B$3)). Собственно налог находится с помощью функции поиска, определяющей ближайшее меньшее к облагаемой сумме
налог=процент_налога*сумма_обложения или E6=ГПР(D6;B$1:F$2;2;1)*D6.
Чтобы поиск выполнялся нужным образом, последний аргумент в функции ГПР() – единица. Это обеспечит диапазонный поиск, в отличие от точного поиска, реализуемого в предыдущем примере. Сумма на руки есть F6=D6–E6.
Замечание: Столбец Сумма обложения введен только для упрощения формул, используемых в таблице. Однако ничто не мешает нам соединить все формулы, связанные с определением налога непосредственно в столбце Налог. Обычно, с целью экономии экранной площади, так и поступают, поскольку столбцов становится меньше.
|
A |
B |
C |
D |
E |
F |
1 |
Сумма: |
0 |
2000 |
4000 |
6000 |
10000 |
2 |
Налог: |
0% |
12% |
15% |
20% |
30% |
3 |
Мин. зарп. |
80 |
|
|
|
|
4 |
|
РАСЧЕТ НАЛОГОВ |
|
|||
5 |
Работник |
Детей |
Доход |
Сумма обложения |
Налог |
Сумма на руки |
6 |
Петр |
|
1000 |
=МАКС(0;C6–B6*B$3) |
=ГПР(D6;B$1:F$2;2;1)*D6 |
=D6–E6 |
7 |
Иван |
1 |
12000 |
=МАКС(0;C7–B7*B$3) |
=ГПР(D7;B$1:F$2;2;1)*D7 |
=D7–E7 |
8 |
Олег |
2 |
5000 |
=МАКС(0;C8–B8*B$3) |
=ГПР(D8;B$1:F$2;2;1)*D8 |
=D8–E8 |
9 |
ВСЕГО |
|
=СУММ(C6:C8) |
=СУММ(D6:D8) |
=СУММ(E6:E8) |
=СУММ(F6:F8) |
Рис. 5.20б
Пример 5.21. Прогрессивный налог. Построить таблицу вычисления годового прогрессивного подоходного налога с физических лиц. Расчеты налогов, выполненные ранее, не является корректными. Видим, что с суммы в 2000 он равен 240, а с 2001 – уже 300, т.е. наблюдается резкий скачек величины налога при росте дохода всего в одну единицу. На практике используется более сложная методика расчета налогов, когда новый уровень налогов относится только к соответствующему диапазону (прогрессивный налог). Разъясним ее на примере. Положим, что принята следующая налоговая сетка (область А1:С6). Налог в 12% исчисляется от суммы дохода до 10000, налог в 18% от суммы, находящейся в пределах от 10001 до 30000 и т.д. Однако 18% берется не со всей суммы, а только с той ее части, которая больше 10000. Аналогично налоги рассчитываются и в других диапазонах доходов. Для полного уяснения техники вычислений определим налог с дохода в 65000. Он состоит из следующих четырех компонент:
|
A |
B |
C |
1 |
Д о х о д |
% налога |
|
2 |
от: |
до: |
|
3 |
0 |
10 000 |
12% |
4 |
10 001 |
30 000 |
18% |
5 |
30 001 |
60 000 |
25% |
6 |
60 001 |
и выше |
35% |
7 |
ДОХОДЫ |
||
8 |
Ф.И.О. |
Доход |
Налог |
9 |
Иван |
5 000 |
600 |
10 |
Петр |
20 000 |
3 000 |
11 |
Анна |
50 000 |
2 300 |
12 |
Елена |
65 000 |
14 050 |
13 |
Всего |
140 000 |
19 950 |
|
|
Рис.5.21 |
а |
18% от суммы 30000–10000=20000 0,18*20000=3600
25% от суммы 60000–30000=30000 0,25*30000=7500
35% от суммы 65000–60000=5000 0,35*5000 =1750
Сумма налога 14050
Или в виде формул:
Налог= ЕСЛИ(Доход <10, то 12%*Доход;
ЕСЛИ(Доход<30то 12%*10+18%*(Доход–10);
ЕСЛИ(Доход<60, то 12%*10+18%*20+25%*(Доход–30);
12%*10+18%*20+25%*30+35%(Доход–60)))).
Иллюстрирует технику вычислений рис. 5.21б (суммы в тысячах).
Рис. 5.21б
Перейдем к адресам для первого налогоплательщика в таблице:
B9=ЕСЛИ(B9<B$3;C$3*B9; ЕСЛИ(B9<B$4;C$3*B$3+C$4*(B9–B$3);
ЕСЛИ(B9<B$5;C$3*B$3+C$4*(B$4–B$3)+C$5*(B9–B$5);
C$3*B$3+C$4*(B$4–B$3)+C$5*(B$5–B$4)+C$6*(B9–B$5)))).
Замечание. С 2001 г. в России установлен единый налог в 13% для физических лиц независимо от доходов. Однако сама задача (но только не для налогов) остается актуальной, поскольку прогрессивная шкала расчетов используется во многих других случаях и не только в финансовых расчетах.
|
A |
B |
C |
D |
E |
F |
G |
H |
I |
1 |
Доход до |
20000: |
12% |
|
|
|
|
|
|
2 |
Свыше |
20000: |
20% |
|
|
|
|
|
|
3 |
|
Динамическое исчисление налогов |
|
|
|||||
4 |
Имя |
Сводный |
Январь |
Февраль |
Март |
||||
5 |
Доход |
Налог |
Доход |
Налог |
Доход |
Налог |
Доход |
Налог |
|
6 |
Иван |
24000 |
4800 |
8000 |
960 |
9000 |
1080 |
7000 |
2760 |
7 |
Петр |
1800 |
216 |
800 |
96 |
1000 |
120 |
|
|
8 |
Анна |
4000 |
480 |
400 |
48 |
600 |
72 |
3000 |
360 |
9 |
Елена |
14300 |
1716 |
300 |
36 |
8000 |
960 |
6000 |
720 |
10 |
Всего |
44100 |
7212 |
9500 |
1140 |
18600 |
2232 |
16000 |
3840 |
|
|
|
|
Рис. |
5.22а |
|
|
|
|
налог_в_текущем_месяце=
сумма_всех_доходов_к_дате_расчета*процент_налога–сумма_ранее_уплаченных_налогов.
Или конкретнее:
налог=сумма_всех_клеток,_имеющих_в_заголовке_слово_Доход*размер_совокупного_налога
–сумма_всех_клеток,_имеющих_в_заголовке_слово_Налог.
Технику вычислений налога для первого сотрудника (Ивана) в марте иллюстрирует таблица на рис. 5.22б.
-
Месяц
Доход
Полный налог за
истекший период
Внесенный
ранее налог
Налог теку-
щего месяца
Январь
8000
12% от 8000=960
0
960
Февраль
9000
12% от 17000=2040
960
1
Рис. 5.22б
Март
7000
20% от 24000=4800
2400
2760
Ниже показаны клеточные формулы налога для первого сотрудника в январе и феврале.
E6=СУММЕСЛИ($D$5:D$5;"Доход";$D6:D6)*ЕСЛИ(СУММЕСЛИ($D$5:D$5;"Доход";$D6:D6)<=$B$1;
$C$1;$C$2)–СУММЕСЛИ($D$5:D$5;"Налог";$D6:D6),
G6=СУММЕСЛИ($D$5:F$5;"Доход";$D6:F6)*ЕСЛИ(СУММЕСЛИ($D$5:F$5;"Доход";$D6:F6)<=$B$1;
$C$1;$C$2)–СУММЕСЛИ($D$5:F$5;"Налог";$D6:F6).
Формула для G6 получена простым копированием в нее клетки Е6.
Здесь сумма всех доходов СУММЕСЛИ($D$5:D$5;"Доход";$D6:D6) умножается на процент налога $C$1, если она меньше $B$1 (меньше 20000), или на $C$2, если больше. Затем из результата вычитается сумма уже удержанных ранее налогов СУММЕСЛИ($D$5:D$5;"Налог"; $D6:D6).
Кроме того, нарастающим итогом вычисляются суммы доходов и налогов:
Сводный доход: B6=СУММЕСЛИ($D$5:$Y$5;"Доход";D6:Y6).
Сводный налог: C6=СУММЕСЛИ($D$5:$Y$5;"Налог";D6:Y6).
Эти сводные данные мы, против обыкновения, разместили не в конце (т.е. в правой части) таблицы, а в ее начале, что удобнее для пользователя, поскольку ему не придется перелистывать громоздкую таблицу по горизонтали, чтобы их увидеть (в декабре таблица достигнет столбца Y).
Пример 5.23. Расчет стипендии. Создать таблицу начисления стипендии студентам ВУЗа и получения сводных данных о результатах сессии. Пусть в сессию студентами сдавались три экзамена и два зачета. В качестве результата экзамена вводится его оценка (кроме двойки). Сданный зачет отмечается значком “+”. Стипендия назначается всем студентам, полностью сдавшим сессию, в размере, определяемом средним баллом. Для выполнения расчетов имеется таблица коэффициентов, связывающая ее размер с величиной минимальной зарплаты (область K4:L8). Конечно, студенты, не сдавшие сессию, стипендии не получают и, кроме того, в столбце Задолжники они помечаются словом ”1зд” (если задолженность одна), или словом “отч” (более одной задолженности), как планируемые к отчислению из института за академическую неуспеваемость.
Рассмотрим, какие формулы необходимы для первого студента в списке (Петра). Средний балл (G4) определяется как сумма всех баллов, полученных на экзаменах, деленная на их число ((B4+C4+D4)/3). Однако, если студент не сдал какой-либо из экзаменов или зачетов, т.е.
История<3 ИЛИ Физика<3 ИЛИ Химия<3 ИЛИ Правозачет ИЛИ Этиказачет,
средний балл принимается равным 0. Таким образом, критерий несдачи сессии Петром будет таков ИЛИ(В4<3;C4<3;D4<3;E4<>"+";F4<>"+"). Его можно несколько упростить, если воспользоваться косвенным признаком, а именно тем фактом, что для несданных предметов клетки оценок остаются пустыми. Тогда для экзаменов произведение всех оценок равно нулю (B4*C4*D4=0), а для зачетов последовательность отметок не равна "++" (т.е. E4&F4<>"++"). Для формирования анализируемой строки все клетки, содержащие зачеты, сцепляются в одно слово (E4&F4). Окончательно, формула для Н4 будет иметь вид
G4=ЕСЛИ(ИЛИ(B4*C4*D4=0;E4&F4<>"++");0;(B4+C4+D4)/3).
В качестве признака наличия академических задолженностей можно использовать и еще более простой критерий – длина строки (ДЛСТР()), образованной сцеплением оценок, меньше числа предметов
G4=ЕСЛИ(ДЛСТР(B4&C4&D4&E4&F4)<5;0;(B4+C4+D4)/3).
|
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
1 |
|
СТИПЕНДИЯ |
|
|
|
Мин. |
зарп. |
|||||
2 |
Студент |
Экзамены |
Зачеты |
Ср. балл |
Стипендия |
Задолжн. |
|
|
100р |
|||
3 |
История |
Физика |
Химия |
Право |
Этика |
|
Ср. балл |
К |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
Петр |
5 |
5 |
5 |
+ |
+ |
5,0 |
200р |
|
|
3 |
1 |
5 |
Иван |
4 |
5 |
5 |
+ |
+ |
4,7 |
180р |
|
|
3,5 |
1,1 |
6 |
Саша |
4 |
4 |
4 |
+ |
+ |
4,0 |
150р |
|
|
4 |
1,5 |
7 |
Олег |
3 |
3 |
5 |
+ |
+ |
3,7 |
110р |
|
|
4,5 |
1,8 |
8 |
Вера |
3 |
3 |
3 |
+ |
+ |
3,0 |
100р |
|
|
5 |
2 |
9 |
Игорь |
4 |
5 |
|
+ |
+ |
|
|
1зд |
|
|
|
10 |
Лена |
4 |
|
|
+ |
+ |
|
|
отч |
|
|
|
11 |
Ср.балл |
3,9 |
4,2 |
4,4 |
|
|
|
Сумма |
|
|
|
|
12Сдало76577740рРис. 5.23аВеличина начисляемой стипендии (H4) определяется с помощью функции вертикального поиска значения G4 в области K4:L8. Найденный коэффициент умножается на величину минимальной зарплаты L2. Таким образом H4=ЕСЛИ(G4=0;0;ВПР(G4;K$4:L$8;2;1)*L$2). Поскольку в таблице коэффициентов отсутствует строка, где средний балл равен нулю, этот факт пришлось учитывать непосредственно в формуле H4.
Неуспевающие студенты выявляются следующим образом. Сначала определяются студенты, имеющие менее четырех оценок (к отчислению), затем – все остальные, не сдавшие сессию (т.е. с одной задолженностью).
I4=ЕСЛИ(ДЛСТР(B4&C4&D4&E4&F4)<4;"отч";ЕСЛИ(H4=0;" 1зд ";"")).
Кроме собственно стипендии в таблице вычисляются некоторые простые сводные характеристики: средний балл по всем экзаменам для студентов, имеющих оценки (B11=СРЗНАЧ(B4:B10) и т.д.), число студентов, получивших положительные оценки по каждому предмету (B12=СЧЁТ(B4:B10)), число студентов, получивших зачет по каждому из предметов (E11=СЧЁТЗ(B4:B10)), общую сумму всех назначенных стипендий (H12=СУММ(H4: H10)). По итогам сессии обычно требуется сформировать и более сложные показатели, например такие (рис. 5.23б). Рассмотрим как они получаются.
Число всех студентов успешно сдавших сессию: D14=СЧЁТЕСЛИ(G$4:G10;">0").
Число студентов сдавших сессию только на отлично (отличников): D15=СЧЁТЕСЛИ(G$4:G10;5).
Количество студентов сдавших сессию без троек (хорошистов):
D16 {=СЧЁТ(ЕСЛИ(B$4:B10>3;ЕСЛИ(C$4:C10>3;ЕСЛИ(D$4:D10>3;ЕСЛИ(G$4:G10>0;ЕСЛИ(G$4:G10<5;1))))))}.
Здесь подсчитываются только студенты не имевшие троек на всех экзаменах и средним баллом больше нуля и меньше пяти (последнее позволяет исключить из подсчета отличников, поскольку только для них средний балл =5). Такая формула может быть только формулой для массивов, т.е. ее ввод завершается нажатием клавиш Ctrl+Shift+Enter (выражение обрамляется фигурными скобками). Если воспользоваться тем фактом, что результатом операции сравнения будет число 1 или 0 (отношение истинно/ложно), формулу можно упростить следующим образом
D16 {=СЧЁТ(ЕСЛИ((B4:B10>3)*(C4:C10>3)*(D4:D10>3)*(G4:G10>0)*(G4:G10<5);1))}.
Количество студентов сдавших сессию с тройками (троечников):
D17 {=СЧЁТ(ЕСЛИ((G$4:G10>0)*((B$4:B10=3)+(C$4:C10=3)+(D$4:D10=3));1))}.
Здесь подсчитываются студенты, имеющие средний балл больше нуля и хотя бы одну тройку на экзамене.
Число студентов не сдавших сессию, т.е. средний балл которых равен нулю (двоечники): D18=СЧЁТЕСЛИ(G$4:G10;0).
Количество студентов, подготавливаемых к отчислению (имеющих минимум две задолженности):
D19 {=СЧЁТ(ЕСЛИ(((B$4:B10=0)+(C$4:C10=0)+(D$4:D10=0)+(E$4:E10<>"+")+(F$4:F10<>"+"))>1;1))}.
Подсчитываются студенты, имеющие больше одного (>1) “хвоста”.
Последний вычисляемый параметр – средний балл студентов, сдавших сессию (для них средний балл >0)
D20 {=СРЗНАЧ(ЕСЛИ(G$4:G10>0;G$4:G10))}.
Пример 5.24. Оплата труда в торговле. Создать таблицу назначения еженедельных премий продавцам-менеджерам фирмы в зависимости от суммы (в тыс. руб.) проданного ими товара. Премиальный фонд (20% от общей выручки – клетка E3) назначается только менеджерам, занявшим по сумме продаж первые три места. В абсолютном исчислении эта сумма равна E4=E3*B14 (здесь 20% от 73 =14,6 тыс. руб.). Эта сумма делится между участниками в следующей пропорции: с коэффициентом 1 – за 1 место, с коэффициентом 0,7 – за второе, с коэффициентом 0,4 – за третье. По очевидным причинам таких людей может оказаться больше трех, если некоторые из “призеров” имели одинаковую выручку. В таблице должны фигурировать: имя продавца, процент выручки данного работника от общей суммы, призовое (если есть) место продавца, индивидуальный коэффициент премирования и премия (если есть). Сначала в таблице вычисляется общая сумма выручки B14=СУММ( B8:B13). Затем для каждого продавца находится процент его личной выручки C8=B8/B$14. Теперь следует выявить призовые места работников, используя функцию РАНГ( ): D8=РАНГ(B8;B$8:B$13;0). В столбце Коэффициенты отражаются индивидуальные коэффициенты премирования в зависимости от занятого места. Функция ВЫБОР( ) извлекает из таблицы коэффициентов премирования нужные значения.
E8=ВЫБОР(ЕСЛИ(D8<=3;D8;4);B$3;B$4;B$5;0).
Если занятое место имеет значения 1, 2, 3 (т.е. 3), его коэффициент разыскивается в группе ячеек B3, B4, B5. Если нет, искомое значение принимается равным четырем. Этому значению в группе извлечения соответствует цифра ноль (последний аргумент в функции).
Собственно премия определяется очевидным образом
премия=премиальный_фонд/сумма_коэффициентов*индивидуальный_коэффициент. Или F8=E$4/E$14*E8.
Как видим, сумма премий (F14) в точности равна премиальному фонду (E3), т.е. расчеты выполнены верно.
К оформлению.
1. Удобно, если имена лучших работников будут выделены. Например, занявшие первое место – красным фоном, второе место – синим, третье – зеленым. Для этого выполним условное форматирование блока А8:А13 следующего вида:
Условие 1 значение равно 1 – установить красный фон
Условие 2 значение равно 2 – установить синий фон
Условие 3 значение равно 3 – установить зеленый фон
2. Заметим, что столбец индивидуальных коэффициентов работников нужен только по техническим причинам (ради вычисления суммы всех коэффициентов) и по завершении построения таблицы его можно скрыть, оставив лишь значимые данные. Такой облик таблицы не отвлекает пользователя от восприятия важной информации и в то же время не ограничивает его в действиях – он может редактировать, удалять и создавать новые строки, не вникая больше в суть формул в скрытых столбцах.
Следует отметить, что при рассмотренном способе определения призовых мест может оказаться, например, 4 первых места и ни одного второго или третьего (если четыре человека имели одну и ту же максимальную выручку) или, как в нашем случае, 2 первых и 2 третьих места и ни одного второго (два человека имели одинаковую максимальную выручку и еще два – одинаковую выручку поменьше) и т.п. Если такой механизм выявления призеров вас устраивает, все в порядке. Если же вы хотите, чтобы в таблице обязательно присутствовали все три первых места без пропусков, то придется поступить более сложным способом. На рис. 5.24б приведен фрагмент такой таблицы. Для экономии места строки с первой по шестую опущены (они идентичны рис. 5.24а). Здесь при определении призового места нами введены три дополнительных столбца D, E, F. В столбце D выявляем лиц, занявших 1 место. Они отмечаются текстом вида “1м”. Для остальных работников отображается их выручка
|
A |
B |
C |
D |
E |
F |
1 |
|
Премия продавцам: |
|
|
||
2 |
К-ты премирования |
|
Премиальный фонд |
|
||
3 |
за 1 место |
1 |
|
Процент: |
20% |
|
4 |
за 2 место |
0,7 |
|
Сумма: |
14,6т |
|
5 |
за 3 место |
0,4 |
|
|
|
|
6 |
П Р О Д А Ж И |
|||||
7 |
Продавец |
Выручка |
Процент |
Место |
Коэфф. |
Премия |
8 |
Петр |
12т |
16,4% |
3 |
0,4 |
2,1т |
9 |
Иван |
9т |
12,3% |
5 |
|
|
10 |
Елена |
12т |
16,4% |
3 |
0,4 |
2,1т |
11 |
Саша |
20т |
27,4% |
1 |
1 |
5,2т |
12 |
Федор |
|
|
6 |
|
|
13 |
Толя |
20т |
27,4% |
1 |
1 |
5,2т |
14 |
ВСЕГО |
73т |
100,0% |
|
2,8 |
14,6т |
|
|
|
Рис. |
5.24а |
|
|
или D10=ЕСЛИ(МАКС(B$10:B$15)=B10;"1м";B10).
В столбце E аналогичным образом выявляем лиц, занявших 1 и 2 места, а F – 1-3 места. Однако в качестве анализируемой области используем не исходный столбец Выручка, а предшествующий столбец, содержащий не только значения выручки, то текстовые строки, которые теперь замещают числовые значения
E10=ЕСЛИ(МАКС(D$10:D$15)=D10;"2м";D10)
F10=ЕСЛИ(МАКС(E$10:E$15)=E10;"3м";E10).
Функция МАКС( ) находит максимальное число в области D10:D15. Имеющиеся здесь текстовые значения вида “1м” воспринимаются ею как нули. Теперь мы превратим текстовые значения в числовые (“1м” – в цифру 1, “2м” – в 2, “3м” – в 3). Это можно сделать с помощью функции ЕСЛИ( )
G10=ЕСЛИ(F10="1м";1;
ЕСЛИ(F10="2м";2;ЕСЛИ(F10="3м";3;0))).
|
A |
B |
C |
D |
E |
F |
G |
H |
I |
|
|
|
|
|
. . . |
|
|
|
|
7 |
Продавец |
Выручка |
|
1м |
1-2м |
1-3м |
Место |
Коэфф. |
Премия |
8 |
Петр |
12 |
|
12 |
2м |
2м |
2 |
0,7 |
2,7 |
9 |
Иван |
9 |
|
9 |
9 |
3м |
3 |
0,4 |
1,5 |
10 |
Елена |
12 |
|
12 |
2м |
2м |
2 |
0,7 |
2,7 |
11 |
Саша |
20 |
|
1м |
1м |
1м |
1 |
1 |
3,8 |
12 |
Федор |
|
|
|
|
|
|
|
|
13 |
Толя |
20 |
|
1м |
1м |
1м |
1 |
1 |
3,8 |
14 |
ВСЕГО |
73 |
|
|
|
|
|
3,8 |
14,6 |
|
|
|
|
|
Рис.6 |
.24б |
|
|
|
Далее находим, соответствующий занятому месту, коэффициент премирования
H10=ВЫБОР(ЕСЛИ(G10<1;4;G10);B$3;B$4;B$5;0).
Если занятое место <1 (в нашем случае 0), коэффициент принимается равным нулю.
Видим, что сумма премиальных выплат совпадает с выделенным фондом, т.е. расчеты произведены правильно, однако сами премии оказались иными, нежели на рис. 5.24а.
Далее технические столбцы D, E, F можно скрыть.
Пример 5.25. Расчет размеров помощи. Создать таблицу расчетов по выделению материальной помощи работникам предприятия. Положим, она назначается по двум причинам:
1. При наличии более 2-х и более детей – в размере одной минимальной зарплаты на каждого ребенка.
2. Инвалидам и участникам войны (УчВ) в возрасте свыше 60-и лет – в размере двух минимальных зарплат.
Для Иванова это:
1. ЕСЛИ(C6>2;C6*F$1;0).
2. ЕСЛИ(И(ГОД(B$1)–B6>60;ИЛИ(D6="И";E6="У"));2*F$1;0).
В любом случае размер помощи не может превышать собственную зарплату работника (=МИН(F6;<расчетная помощь>)). Таким образом, полная формула будет выглядеть так
G5=МИН(F6;(ЕСЛИ(C6>2;C6*F$1)+ЕСЛИ(И(ГОД(B$1)–B6>60;ИЛИ(D6="И";E6="У"));2*F$1))).
По вертикали определяется средний возраст работников предприятия
=число_лет_текущей_даты – средний_возраст_работников или B9=ГОД(B$1)–СРЗНАЧ(B6:B8).
|
A |
B |
C |
D |
E |
F |
G |
H |
1 |
Дата: |
Ноя.99 |
|
Миним. |
зарп. |
80 |
|
|
2 |
|
|
|
|
|
|
|
|
3 |
НАЗНАЧЕНИЕ ПОМОЩИ |
|||||||
4 |
ФИО |
Год рожд. |
Детей |
Л ь г о т ы |
Зарп- лата |
По- мощь |
Всего |
|
5 |
Инвалид |
УчВ |
|
|||||
6 |
Иванов |
1940 |
3 |
И |
|
600 |
240 |
840 |
7 |
Петров |
1970 |
2 |
|
|
500 |
0 |
500 |
8 |
Кулик |
1920 |
5 |
И |
У |
550 |
550 |
1100 |
9 |
Итого |
56,7лет |
10 |
2 |
1 |
1650 |
790 |
2440 |
|
|
|
|
Рис. 5.25 |
|
|
|
|
Замечание. Здесь средний возраст определен весьма приблизительно, поскольку для работников отсутствуют сведения о месяце и дне рождения, т.е. как бы считается, что они родились 1 января. Для нахождения статистических данных, вроде среднего возраста всех членов коллектива, это несущественно, но при вычислении, например, трудового стажа, влияющего на оплату труда, так поступать нельзя. К этому вопросу мы вернемся позже.
Пример 5.26. Оплата проката автомобилей. Создать таблицу расчетов с клиентами за наем автомобилей, цена часа проката которых известна. В момент взятия в прокат автомобиля работник пункта проката выставляет текущие и ожидаемые дату и время возврата (столбцы Взято с и Оплачено по). Для столбцов С, D и G назначен пользовательский формат даты вида Д.МММ чч:мм. Исходя из стоимости часа проката, в таблице вычисляются время проката в часах и его стоимость. Для первой строки E6=(D6–C6)*24 и F6=B6*E6. В момент возврата автомобиля оператор выставляет время возврата (столбец G). В колонке Н и I вычисляется разница в часах и деньгах между оплаченной и фактической датами возврата автомобиля Н6=(G6–D6)*24 и I6=B6*H6. Если клиент вернул его раньше оплаченного времени, ему возвращается часть денег (коэффициент возврата находится в клетке C1). Если позже – с него берется недостающая сумма с коэффициентом доплаты (находится в С2) за задержку автомобиля в прокате J6=ЕСЛИ(I6>0;I6*C$2;I6*C$1). Так, за прокат автомобиля ВАЗ клиенту будут возвращены деньги.
|
A |
B |
C |
D |
E |
F |
|
|
|
|
1 |
К-т возв |
рата |
0,50 |
|
|
|
|
|
|
|
2 |
К-т допл |
аты |
1,30 |
|
|
|
|
|
|
|
3 |
|
|
|
П Р О К А Т |
А В Т |
О М О |
Б И Л Е Й |
|
|
|
4 |
Тип |
Цена |
Взято |
Оплачено |
Опла |
чено |
Дата |
Раз |
ница |
Доплата |
5 |
авто |
часа |
с: |
по: |
часов |
сумма |
возврата |
часы |
сумма |
/возврат |
6 |
Волга |
110 |
2.Ноя 10:00 |
12.Ноя 00:00 |
230,0 |
25300 |
18.Ноя 05:00 |
149 |
16390 |
21307 |
7 |
БМВ |
300 |
13.Ноя 01:30 |
21.Ноя 10:00 |
200,5 |
60150 |
21.Ноя 10:00 |
0 |
0 |
0 |
8 |
Рено |
200 |
4.Ноя 09:06 |
14.Ноя 00:00 |
230,9 |
46180 |
16.Ноя 08:00 |
56 |
11200 |
14560 |
9 |
Ауди |
250 |
1.Ноя 01:00 |
5.Ноя 10:00 |
105,0 |
26250 |
7.Ноя 00:30 |
38,5 |
9625 |
1
Рис. 5.26
|
10 |
ВАЗ |
100 |
6.Ноя 06:30 |
19.Ноя 12:00 |
317,5 |
31750 |
14.Ноя 00:00 |
–132 |
–13200 |
–6600 |
Пример 5.27. Зарплата с учетом разряда и трудового стажа. Создать таблицу расчета выплат заработка по результатам месяца в зависимости от разряда и стажа работников. Для этого имеется тарифная сетка, содержащая коэффициенты премирования сотрудника в зависимости от его разряда и стажа работы на производстве (в левой верхней части листа на рис. 5.27б). Стаж изображается в форме цифры стажа и слова “лет” (например “10 лет”) с помощью формата вида: 0” лет”, а разряд (например “3 разр.”)– с помощью формата 0” разр.” О каждом сотруднике известны: дата поступления его на предприятие (Дп), разряд, зарплата. На основе этих данных необходимо определить его премию (доплату за стаж и разряд) на произвольно заданный день расчета (Др). Кроме того, следует найти средний трудовой стаж всех работников.
Задача определения числа прошедших лет и/или месяцев является очень актуальной. Во многих случаях стаж работы влияет на оплату труда (например, выслуга лет у военнослужащих, размер пенсии и т.п.). Ее решение может быть различным в зависимости от целей расчета. Если требуется найти, например, средний стаж работников предприятия, то достаточно просуммировать стаж (в днях) каждого из них и поделить на 364 и число работников. Не так в случае определения стажа отдельного работника, если это влияет на оплату труда. Если поступить аналогичным образом, может оказаться, что будет получена неточная цифра, ведь число дней в году может составлять и 365. Кроме того, перерасчет зарплаты производится не немедленно по достижении нужной даты, а начиная только со следующего месяца – по прошествии установленного числа полных месяцев стажа. Пусть, например, сотрудник зачислен на работу 12.6.94 и через пять лет (т.е. после 12.6.99) ему положена прибавка зарплаты. По существующему законодательству она последует только в следующем месяце – в июле 1999 г.
|
11.97 |
12.97 |
1.98 |
2.98 |
3.98 |
4.98 |
5.98 |
6.98 |
7.98 |
8.98 |
9.98 |
10.98 |
11.98 |
12.98 |
1.99 |
2.99 |
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 5.27а |
Теперь получим формулы расчета искомого промежутка времени. Определим его как разность между числом месяцев, прошедших от 1.1.1900 г. (от начала отсчета всех дат в Excel) до начала месяца Дп, и числом месяцев от 1.1.1900 г. до начала месяца Др и вычтем отсюда еще один месяц (месяц в котором находится Дп).
Выполним сначала эти расчеты применительно к нашим данным.
1. Число полных месяцев от 1.1.1900 до месяца Дп:
Год поступления*12 + Месяц поступления – 1.
В нашем случае это
ГОД(15.11.1997)*12+МЕСЯЦ(15.11.1997)-1=1997*12+11-1=23974 месяца.
2. Число полных месяцев от 1.1.1900 до месяца Др, исключая один месяц, в котором находится Дп:
Год расчета*12+ Месяц расчета –1–1 или
ГОД(25.1.1999)*12+МЕСЯЦ(25.1.1999)-1-1=1999*12+1-1-1=23987 месяцев.
3. Число полных месяцев от Дп до Др:
Месяцев до даты расчета – Месяцев до даты поступления или 23987–23974=13 месяцев.
Таким образом, можем записать
(ГОД(Др)*12+МЕСЯЦ(Др)–1–1)–(ГОД(Дп)*12+МЕСЯЦ(Дп)–1)=
ГОД(Др)*12+МЕСЯЦ(Др)–1–ГОД(Дп)*12–МЕСЯЦ(Дп)=
12*(ГОД(Др)–ГОД(Дп))+МЕСЯЦ(Др)–МЕСЯЦ(Дп)–1.
Если подсчет стажа ведется в годах, полученный результат нужно поделить на 12. Воспользуемся полученным выше выражением. Так, для первого работника стаж в годах (Е9) составит
E9=(12*(ГОД(G$2)–ГОД(B9))+МЕСЯЦ(G$2)–МЕСЯЦ(B9)–1)/12.
Теперь найдем коэффициент премирования в таблице тарифных ставок. Этот коэффициент находится на пересечении колонки с соответствующим разрядом (функция ПОИСКПОЗ(C9;A$1:F$1;0)) и стажем (функция ПОИСКПОЗ(E9;A$1:A$6;1)). Адрес клетки пересечения определяется функцией ИНДЕКС(A$1:F$6; номер_строки; номер_ столбца). Или окончательно
F9=ИНДЕКС(A$1:F$6;ПОИСКПОЗ(E9;
A$1:A$6;1);ПОИСКПОЗ(C9;A$1:F$1;0).
Замечание. Здесь в качестве блока поиска определена целиком вся тарифная сетка, включая ячейку А1. Это в некоторых случаях может вызвать неверный результат поскольку ее содержимое в таком случае также попадает в область поиске. Если функция ПОИСКПОЗ(…) посчитает значение клетки A1 соответствующим критерию поиска, результат может быть извлечен совершенно из другого места таблицы тарифов, либо последует сообщение об ошибке. Если такая опасность существует, можно изменить функцию таким образом, чтобы исключить из обработки ячейку А1
=ИНДЕКС(B$2:F$6;ПОИСКПОЗ(E9;A$2:A$6;1);ПОИСКПОЗ(C9;B$1:F$1;0)).
|
A |
B |
C |
D |
E |
F |
G |
1 |
Разряд /стаж |
1 разр. |
2 разр. |
3 разр. |
4 разр. |
5 разр. |
Дата расчета: |
2 |
0 лет |
1,0 |
1,1 |
1,2 |
1,3 |
1,4 |
20.09.99 |
3 |
5 лет |
1,2 |
1,3 |
1,4 |
1,5 |
1,6 |
|
4 |
10 лет |
1,4 |
1,5 |
1,6 |
1,7 |
1,8 |
|
5 |
20 лет |
1,6 |
1,7 |
1,8 |
1,9 |
2,0 |
|
6 |
30 лет |
1,8 |
1,9 |
2,0 |
2,1 |
2,2 |
|
7 |
|
ЗАРПЛАТА |
|
||||
8 |
Имя |
Дата поступ. |
Разр. |
Зарп. |
Стаж (лет) |
Коэфф. |
ВСЕГО |
9 |
Петр |
20.06.99 |
5 |
100 |
0,2 |
1,4 |
140 |
10 |
Иван |
12.08.94 |
4 |
200 |
5,0 |
1,5 |
300 |
11 |
Олег |
20.10.65 |
4 |
180 |
33,8 |
2,1 |
378 |
12 |
Сергей |
01.04.70 |
2 |
500 |
29,3 |
1,7 |
850 |
13 |
Итого |
ср.стаж:17 |
|
980 |
|
|
1668 |
|
|
|
Рис. |
5.27б |
|
|
|
B12=ОКРУГЛ((G$2–
СРЗНАЧ(B9:B12))/364;0).
Формат ячейки: “ср.стаж:”#.
Выплаты с учетом коэффициента (колонка Всего) определятся формулой вида G9= F9*D9. Внизу таблицы обычные формулы вертикального суммирования – D13=СУММ(D9:D12), G13=СУММ(G9:G12).
Пример 5.28. Переоценка основных фондов предприятия. Обо всех объектах, составляющих основные фонды, известны: год приобретения; цена (в тыс. руб.), по которой он был закуплен; срок амортизации (число лет, на которое рассчитано устройство до полного износа и списания). Нам нужно создать таблицу ежегодной переоценки (на конец 1999 года) стоимости фондов, которая зависит от двух факторов.
|
A |
B |
C |
D |
E |
F |
G |
H |
1 |
Текущий |
год: |
1999 |
|
|
|
|
|
2 |
|
|
Инфляция |
|
|
|
||
3 |
1992 |
1993 |
1994 |
1995 |
1996 |
1997 |
1998 |
1999 |
4 |
2200% |
1200% |
700% |
150% |
30% |
16% |
50% |
30% |
5 |
|
|
Переоценка |
|
|
|
|
|
6 |
Фонды |
Куплено |
Срок аморт. |
№ |
Новая цена |
|
|
|
7 |
Год |
Цена |
|
|
||||
8 |
Станок |
1994 |
10 |
30 |
3 |
490 |
|
|
9 |
Кран |
1996 |
20 |
20 |
5 |
50 |
|
|
10 |
Стенд |
1982 |
30 |
8 |
1 |
0 |
|
|
11 |
Копир |
1991 |
10 |
9 |
1 |
19539 |
|
|
12 |
Факс |
1999 |
4 |
4 |
8 |
5 |
|
|
13 |
ВСЕГО |
|
|
|
|
20084 |
|
|
|
|
|
Рис. |
5.28 |
|
|
|
|
2. Уменьшение стоимости за счет износа в течение срока амортизации. Ежегодно стоимость снижается на одинаковую часть (например станок на 1/30).
Нам следует вычислить новую цену предмета с учетом указанных процессов.
Сначала учтем инфляцию. Так, например, для станка, купленного в 1994г., новая цена будет определяться инфляционными процентами за годы с 1994 по 1999 включительно. Здесь следует воспользоваться финансовой функцией определения будущего значения
=БЗРАСПИС(цена_закупки;инфляционные_проценты).
Или для первого объекта (станка) =БЗРАСПИС(C8;C4:H4).
Аналогично для крана =БЗРАСПИС(C9;E4:H4) и т.д.
Наша задача заключается в том, чтобы научиться определять начальную позицию блока инфляционных коэффициентов (здесь C4 и E4) как функцию года приобретения изделия. Для этой цели мы введем технический столбец (№), в котором определяется номер колонки с годом, совпадающим с годом покупки, в блоке инфляционных процентов. Здесь можно воспользоваться функцией ПОИСКПОЗ(). Однако следует учесть, что год покупки может и не входить в сетку инфляционных лет с 1992г. Поскольку до этого периода инфляции не было, предыдущие годы в таблице отсутствуют. Это значит, что, если год приобретения, например, 1983, его следует считать 1992. Такое условие можно реализовать функцией МАКС(год_покупки; 1992г). Отсюда, для первого объекта запишем E8=ПОИСКПОЗ(МАКС(B8; A$3);A$3:H$3).
Вычислим новую цену предмета с учетом инфляции. Начало блока, содержащего нужные инфляционные проценты, будет определено с помощью функции
ИНДЕКС(строка_процентов_по_годам;;номер_колонки_внутри_строки).
Или для станка F8=БЗРАСПИС(C8;ИНДЕКС(A$4:H$4;;E8):H$4).
Второй аргумент в функции ИНДЕКС() опущен, поскольку ее объектом является единственная строка.
Теперь учтем влияние износа в форме коэффициента, на который нужно умножить цену
(срок_амортизации – лет_эксплуатации)/срок_амортизации
или (D8–(C1–B8))/D8. Эта формула верна только до тех пор, пока не кончился амортизационный период. В последнем случае результат будет бессмысленным (отрицательным). Чтобы учесть указанное обстоятельство, сделаем так, чтобы он никогда не становился меньше нуля МАКС((D8–(C$1–B8))/D8;0).
Окончательно, для формирования новой цены нам понадобится формула следующего вида
F8=БЗРАСПИС(C8;ИНДЕКС(A$4:H$4;;E8):H$4)*МАКС((D8–(C$1–B8))/D8;0).
После того, как сформированы правильные выражения, при желании можно скрыть технический столбец с заголовком № или включить его содержимое в столбец Е.
Пример 5.29. Продажа авиабилетов. Построим таблицу бронирования мест на авиарейсы. О каждом рейсе известна номинальная цена билета для каждого из трех классов. Эти тарифы хранятся на отдельном листе Рейс. Собственно данные о заказах хранятся на другом листе Бронь. Это номер желаемого рейса, класс салона, а также число требуемых взрослых и детских билетов.
В столбце Цена билета предъявляется цена билета из листа Рейс, извлекаемая следующей формулой
цена_билета=ИНДЕКС(область_тарифов;строка_ рейса; столбец_класса).
или для первого заказа
С5= ИНДЕКС(рейс!A$1:D$100;ПОИКОЗ(A5;рейс!A$1:A$100;0);ПОИСКПОЗ(B5;рейс!A$1:D$1;0)).
Общая стоимость заказа формируется путем умножения количества заказанных взрослых билетов на цену билета, плюс число детских билетов на цену билета со скидкой на детей (здесь 40%): F5=C5*D5+C5*E5*(1–C$1). Кроме того, и при заказе на сумму более семи полных билетов положена скидка (оплачивается только 80% стоимости заказа)
|
A |
B |
C |
D |
E |
F |
G |
1 |
Скидки: |
на детей |
40% |
на группу |
20% |
|
|
2 |
БРОНИРОВАНИЕ АВИАБИЛЕТОВ |
||||||
3 |
№ рейса |
Класс |
Цена билета |
Число билетов |
Стоимость билетов |
||
4 |
взрос. |
детских |
полная |
со скидкой |
|||
5 |
12 |
1 |
800 |
12 |
1 |
10080 |
8064 |
6 |
45 |
3 |
500 |
4 |
2 |
2600 |
2600 |
7 |
101 |
2 |
600 |
1 |
|
600 |
600 |
8 |
Всего |
|
|
17 |
3 |
13280 |
11264 |
|
|
|
Рис. |
5.29б. Лист |
Бронь |
|
|
|
A |
B |
C |
D |
1 |
класс рейс |
1 |
2 |
3 |
2 |
12 |
800 |
700 |
600 |
3 |
65 |
700 |
610 |
530 |
4 |
101 |
640 |
600 |
580 |
5 |
45 |
600 |
550 |
500 |
6 |
67 |
950 |
850 |
780 |
Рис. 5.29а. Лист Рейс |
Пример 5.30. Расчеты в гостинице. Построим таблицу расчетов с клиентами гостиницы. Данные находятся в двух листах. На листе Номера помещается список из тридцати номеров отеля с указанием имеющихся в них мест и цены за место. Для упрощения выкладок области листа A1:C21 присвоено имя Места. На втором листе Оплата располагаются собственно данные о проживающих (области В5:D100 назначим имя Гост). На листе Номера формируется информация о числе уже занятых и свободных мест.
|
A |
B |
C |
D |
E |
|
D |
E |
1 |
Номер |
Мест |
Цена |
Занято |
Свободно |
|
Занято |
Свободно |
2 |
1 |
2 |
50 |
3 |
–1 |
|
=СЧЁТЕСЛИ(гост;A2) |
=B2–D2 |
3 |
2 |
2 |
60 |
1 |
1 |
|
=СЧЁТЕСЛИ(гост;A3) |
=B3–D3 |
4 |
3 |
2 |
20 |
1 |
1 |
|
=СЧЁТЕСЛИ(гост;A4) |
=B4–D4 |
5 |
4 |
3 |
20 |
0 |
3 |
|
=СЧЁТЕСЛИ(гост;A5) |
=B5–D5 |
6 |
5 |
2 |
30 |
0 |
2 |
|
=СЧЁТЕСЛИ(гост;A6) |
=B6–D6 |
|
|
|
. . . |
|
|
|
|
|
22 |
Всего |
|
|
70 |
30 |
|
=СУММ(D2:D21) |
=СУММ(E2:E21) |
Рис. 5.30а. Лист Номера
Занятые места подсчитываются с помощью функции вида
Занято=СЧЁТЕСЛИ(данные_о_занятых_комнатах_в_листе_Оплата; номер_комнаты_из_листа_Номера)
или для первого номера D2=СЧЁТЕСЛИ(гост;A2).
Отслеживать занятость номеров администратору удобно по столбцу Свободно, где подсчитывается число оставшихся мест в номерах E2=B2–D2. Отрицательное значение в этой клетке означает попытку разместить в номере (на листе Оплата) человека при отсутствии в нем свободных мест.
К оформлению. Для лучшего зрительного восприятия данных имеет смысл выделить номера, имеющие свободные места (столбец Свободно). Установим здесь пользовательский формат вида: [Красный] [>0].
При обращении клиента администратор отеля в столбце Номер вводит номер комнаты, куда предполагается его поселить. Тогда в столбце Цена места автоматически формируется стоимость места в этом номере. Для этого было бы достаточно выражения С5=ВПР(B5;места;3;0).
|
A |
B |
C |
D |
E |
F |
G |
H |
1 |
Сегодня: |
20.Сен |
|
|
|
|
|
|
2 |
ОПЛАТА ГОСТИНИЦЫ |
|||||||
3 |
Ф.И.О. |
Но- мер |
Цена места |
Дата заезда |
Оплата: |
Доплата: |
||
4 |
по |
|
дней |
|
||||
5 |
Петров |
2 |
60 |
12.Сен |
30.Сен |
1080 |
остаток: 10дн |
|
6 |
Лукин |
1 |
50 |
20.Сен |
25.Сен |
250 |
остаток: 5дн |
|
7 |
Васин |
3 |
20 |
16.Сен |
20.Сен |
80 |
СЪЕЗД |
|
8 |
Попов |
1 |
50 |
14.Сен |
15.Сен |
50 |
доплата 5дн |
250 |
9 |
Кулик |
1 |
Занято |
|
|
0 |
СЪЕЗД |
|
Рис. 5.30б. Лист Оплата
Однако здесь имеет смысл проконтролировать возможность заселения человека в номер – не исключено, что он полон. Для предотвращения поселения в комнату большего числа людей, нежели имеется там мест, выполняется соответствующая проверка, результатом которой явится слово Занято, если мест нет, и цена места, если есть
Цена=ЕСЛИ(число занятых мест в данном номере > общего числа мест в нем, выводится слово Занято,
в противном случае выводится Цена этого места).
Для первого постояльца результат достигается формулой вида
С5=ЕСЛИ(СЧЁТЕСЛИ(гост;B5)>ВПР(B5;места;2;0);"Занято";ВПР(B5;места;3;0)).
Если воспользоваться ею, то слово Занято возникнет во всех строках, содержащих информацию о номере, куда вы пытаетесь поселить лишнего человека. Для предотвращения этого усложним выражение таким образом, чтобы сообщение появлялось только для нового клиента. Введем анализ еще одного условия – отсутствия даты заезда (D5=0)
C5=ЕСЛИ(И(СЧЁТЕСЛИ(гост;B5)>ВПР(B5;мест;2;0);D5=0);"Занято";ВПР(B5;мест;3;0)).
Здесь сначала подсчитывается число уже занятых мест в интересующем номере (СЧЁТЕСЛИ(гост;B5)). Если оно оказывается большим количества имеющихся мест в номере (>ВПР(B5;места; 2;0)), в столбце Цена места формируется слово Занято (место недоступно), если нет – предъявляется цена места в номере.
Далее, если все в порядке, желающий поселиться вносит плату по определенное число (Оплата: по) в сумме F5=(E5–D5)*C5.
Однако, если в С5 будет слово Занято, возникнет сообщение об ошибке (на слово нельзя умножить). Чтобы обойти такую ситуацию, усложним выражение для Суммы оплаты таким образом, чтобы слово Занято интерпретировалось как ноль F5=ЕСЛИ(ЕТЕКСТ(C5);0;(E5–D5)*C5).
Замечание. Здесь следует сказать, что добиваться полной “гладкости” функционирования таблицы (т.е. выполнять обработку всех сообщений об ошибках), возможно, не всегда имеет смысл. В данном случае и по имеющимся стандартным сообщениям системы оператор поймет, что гостиничный номер уже полон. Обнаружив этот факт, он тут же подыщет клиенту другое место и проблема, а также связанные с ней сообщения об ошибках, снимутся сами собой. Решение об уровне проработки ошибочных реакций системы пользователь каждый раз должен принимать исходя из конкретных обстоятельств ее работы.
В дальнейшем, администратор гостиницы отслеживает своевременность уплаты денег. В столбце Доплата: дней вычисляется разность между текущей датой (В1) и датой, по которую была произведена оплата G5=E5–$B$1. Поскольку дата заезда может отсутствовать, результат может оказаться бессмысленным. В виду этого сделаем так, чтобы разность вычислялась только при наличии даты заезда G5=ЕСЛИ(D5=0;0;E5–$B$1).
К оформлению. Для привлечения внимания администратора в столбце Доплата: дней использован специальный пользовательский формат вида