Расчетная область
Область табеля с формулами, в которой производятся расчеты, находится в диапазоне AI:AS23 (рис. 7.3). На примере формул для первого служащего рассмотрим, какие величины определяются в расчетной области.
Расчет отработанного времени в часах
Сумма отработанных часов определяется в ячейке АПЗ с помощью следующей формулы:
=СУММ(С12:АG12)
В данном случае мы производим суммирование значений, указанных в диапазоне C12:AG12 (первая строка для первого служащего).
Рис. 7.3. Расчетная область
Количество часов, отработанных в ночное время, вычисляется в ячейке АК13 как сумма значений во второй строке, где фиксируются эти часы:
=СУММ(С13:АG13)
Расчет отработанного времени в днях
Количество отработанных дней определяется в ячейке AL13:
=СЧЕТЕСЛИ(С12:АG12;">0")
Формула создана на основе функции СЧЕТЕСЛИ (см. главу 5, рис. 5.3), которая подсчитывает количество ячеек внутри интервала, удовлетворяющих заданному критерию. Критерием могут служить как цифры (количество отработанных часов), так и буквы (рассмотренные выше условные обозначения, такие как "от" - отпуск, "б" - дни временной нетрудоспособности и т. д.). Формула, приведенная в качестве примера, предназначена для подсчета количества ячеек, в которые введены цифры.
Количество дней, проведенных служащим в командировке, подсчитывается в ячейке AM13 (рис. 7.4):
=СЧЕТЕСЛИ(С12:АG12;"к")
Критерием является буква "к", которая вносится в табель, если работник находится в командировке.
Подсчет дней, в течение которых работник был в отпуске, производится в ячейке AN13:
=СЧЕТЕСЛИ(С12:АG12;"от")
Количество дней учебного отпуска определяется в ячейке АO13:
=СЧЕТЕСЛИ(С12:AG12;"у")
Подсчет дней, в течение которых работник болел, производит формула в ячейке АР13:
=СЧЕТЕСЛИ(С12:AG12;"б")
Количество дней, в течение которых работник отсутствовал на работе без уважительных причин, подсчитывается с помощью формулы из ячейки AQ13:
=СЧЕТЕСЛИ(С12:AG12;"п")
Счет праздничных и выходных дней ведется в ячейке AR13:
=СЧЕТЕСЛИ(С12:AG12;"в")
Наконец, общее количество протабелированных дней определяется в ячейке AS 13 с помощью такой формулы:
=СУММ(АL13:АR13)
Рис. 7.4. Формулы в области вычислений
Мы описали все формулы, кроме той, которая находится в ячейке AJ13 и рассчитывает количество часов, отработанных в выходные и праздничные дни. Эта формула требует отдельного анализа.
Формирование дат праздников
Для определения чисел, на которые приходятся выходные дни, суббота и воскресенье, можно воспользоваться функциями Excel. А вот чтобы компьютер мог установить, какой день праздничный, а какой нет, он должен иметь соответствующую информацию.
Введем даты праздников в нашу рабочую книгу на отдельном листе, которому присвоим имя Праздники. Дату праздников можно указать в формате Excel. Однако существуют праздники, которые каждый год приходятся на разные даты (к этой категории принадлежат Пасха и Троица). Если праздник выпадает на выходной день, то выходной переносится на следующий будний день. Поэтому перенесенный выходной тоже может быть представлен как праздник.
Итак, наименования праздников введите в ячейки столбца В. Месяцы и дни укажите раздельно (в столбцах С и D), а номер текущего года - в ячейке С2 (рис. 7.5).
Рис. 7.5. Даты официальных праздников на листе Праздники
Преобразование элементов введенных дат в формат Excel можно произвести при помощи модуля, созданного в главе 6. Для его внедрения в рабочий лист Праздники выполните следующие действия:
- Откройте файл с модулем формирования даты в формате Excel (рис. 6.12).
- Выделите диапазон ячеек С5:С7 модуля и скопируйте его в буфер обмена.
- Перейдите на лист Праздники и активизируйте ячейку Е3.
- Выполните вставку из буфера, для чего откройте диалоговое окно Специальная вставка и установите флажок Транспонировать. Модуль поменяет ориентацию на рабочем листе и его ячейки будут расположены в одной строке.
- В ячейку Е3 введите ссылку на адрес ячейки С3 (содержит название месяца).
- В формуле, которая содержится в ячейке G3, замените адрес ячейки С3 (содержит год в модуле) адресом $C$2, а адрес С4 (это день) - адресом D3.
- Скопируйте диапазон ячеек E3:G3, в котором находится модуль, и выполните вставку из буфера, выделив область Е3:Е14.
В результате этих наших действий все даты (в формате Excel), на которые припадают праздники, будут расположены в диапазоне ячеек G3:G14. Выделите этот диапазон и присвойте ему имя ДатаПраздн.