ВНИМАНИЕ: Прежде чем пользоваться предложенным автоматизированным табелем, убедитесь в том, что у вас в Excel настроен автоматический режим обновления ячеек.
* Табель работает со следующими кодами явки: 01 (явка), 02 (ночное время), 03 (работа в выходные дни), 04 (сверхурочная работа), 05 (вахтовый метод), 06 (командировка), 12 (сокращенный рабочий день), 21 (сокращенный рабочий день). Если вы используете другие коды явки, необходимо внести изменения в формулу.
** Табель работает со следующими кодами явки: Я (явка), Н (ночное время), РП (работа в выходные дни), С (сверхурочная работа), ВМ (вахтовый метод), К (командировка), УВ (сокращенный рабочий день), ЛЧ (сокращенный рабочий день). Если вы используете другие коды явки, необходимо внести изменения в формулу.
Как известно, Табель учета рабочего времени — это главный документ, в соответствии с которым начисляется заработная плата. Т.е. документ этот очень важный и допускать ошибки в нем крайне нежелательно. Мало того, что нужно внимательно занести данные о явках, больничных, отгулах, работе в выходные дни, нужно еще и посчитать общее количество отработанных дней и часов для каждого работника.
Сегодня мы будем автоматизировать в Excel Табель учета рабочего времени, а именно вторую его страницу. Заведем формулы в ячейки, где считаются итоговые значения. Таким образом, при внесении изменений, итоговые данные будут пересчитываться автоматически.
Главная проблема, с которой мы столкнемся, — это специальные коды, которые используются для обозначения дней. Так день явки обозначается как «Я» или «01», больничный — «Б» или «19», работа в выходной день — «РП» или «03» и т.д.
Каким же образом можно сосчитать буквы или цифры в текстовом формате?
Для того, чтобы сложить значения, необходимо присвоить всем явочным дням значение единицы, а неявочным — нуля.
Для решения этой задачи, вновь воспользуемся логическим оператором «ЕСЛИ», который имеется в функциях Excel (Функции (обведено красным) => Другие функции => Логические => ЕСЛИ).
Логический оператор «ЕСЛИ» поможет нам преобразовать буквенные или числовые выражения в текстовом формате в цифры.
Однако, размещаться эти цифры будут не в поле Табеля учета рабочего времени, а за его пределами. Необходимо выделить для этого поле, равное по размерам полю учета рабочих дней и часов Табеля, в любом месте страницы. Именно там мы и будем колдовать.
Начнем в того, что закрепим поля, чтобы нам было удобно работать (оставим в закрепленном поле несколько столбцов учета рабочих дней, так как на них мы будем ссылаться).
Ну, а теперь справа от всех полей Табеля начнем заводить формулы с помощью оператора «ЕСЛИ». Выбираем любую ячейку на уровне соответствующего поля таблицы и вызываем оператор.
Заполняем поля оператора.
Смысл операции заключается в том, чтобы присвоить текстовому формату «01» (либо «Я») значение равное «1». Итак, логическое выражение будет выглядеть следующим образом:
если адрес преобразуемой ячейки (в нашем случае D8) = «01», то значение ячейки AV8 будет считаться равным «1»
Прописываем данное выражение в полях оператора. Значение, которому присваивается число (в нашем случае «01») обязательно нужно взять в кавычки:
Поле Значение_если_ложь можно оставить пустым, либо записать в него «0». Мы оставим его пустым.
Теперь только после появления в ячейке D8 значения «01» в ячейке AV8 появится единица. В противном случае мы увидим надпись «ложь» (либо ничего, в случае, если бы мы поставили «0» в поле оператора Значение_если_ложь). Например:
Текстовый формат ячейки в Excel
Стоит обратить внимание на один существенный момент. Если вы вводите в ячейку значение «01», а в ней появляется «1», значит, формат ячейки является числовым, а не текстовым. Его нужно поменять. Иначе формула работать не будет.
Выделяем нужную ячейку, вызываем правой кнопкой мыши меню и выбираем «Формат ячеек». В закладке «Число» выбираем «текстовый» формат.
После смены формата нужно еще раз ввести значение в ячейку.
Если нужно сменить формат сразу во всех ячейках поля, выделить нужно все эти поля и поменять формат одновременно во всех с помощью той же функции.
На заметку: если после смены формата формулы не работают, значит, в ваших параметрах обновление стоит в ручном режиме.
В этом случае необходимо обновить ячейку с формулой вручную (щелкнуть по ней два раза и нажать «enter») либо нажать кнопку F9, которая одновременно обновляет весь лист Excel.
Если вы хотите настроить автоматическое обновление страницы (а это просто необходимо сделать в нашем случае, иначе каждый раз придется вручную обновлять все ячейки), зайдите в «Сервис» => «Параметры» => «Вычисления» и выберите вариант «автоматически»:
Итак, мы ввели в ячейку одно условие. Но как быть со всем остальным списком обозначения дней?
Все довольно-таки просто! В строке состояния копируем все выражение кроме знака «=»,
ставим «;» перед последней скобкой выражения и вставляем после него скопированное выражение:
Исправляем во втором выражении «01» на «03» (работа в выходной день):
Готово! Смысл этого выражения будет звучать так:
Если значение ячейки D8 соответствует “01”, то значение ячейки AV8 нужно считать за 1, если нет, то действует новое условие: [если значение ячейки D8 соответствует «03», то значение ячейки AV8 нужно считать за «1»].
И так со всеми последующими условиями.
Теперь добавим любой код дня неявки. Скопируем второе выражение, сразу захватив «;»:
и вставим опять же перед всеми скобками:
Исправляем «03» на «16» (отпуск за свой счет), и «1» на «0», чтобы этот день не учитывался как отработанный:
Вот и всё! Все остальные коды проставляем аналогичным образом.
Учтем, что логический оператор «ЕСЛИ» позволяет использовать не более 7-ми аргументов, поэтому если количество используемых вами кодов больше 7-ми, можно проставить коды только для явочных дней. Все остальные коды Excel в любом случае посчитает как «0».
Копируем полученную формулу и вставляем во все ячейки, которые соответствуют ячейкам Табеля учета рабочего времени:
Теперь можно считать итоговые значения. Выделяем ячейку с итоговой суммой за первую половину месяца и с помощью автосуммы складываем значения, полученные в поле справа от Табеля учета рабочего времени:
То же самое делаем со второй половиной месяца.
Далее считаем количество часов за каждую половину месяца. Можно сделать это с помощью автосуммы, т.к. в ячейках, где указаны часы, применен числовой формат:
Однако на практике можно столкнуться с тем, что при работе с табелем (копирование, вставка, вырезание ячеек) происходит сбой формата ячеек. Поэтому отметим одну особенность подсчета суммы в Excel.
Для того, чтобы сосчитать значения в любом формате нужно пользоваться ручным суммированием. Автосумма считает только значения в числовом формате.
Используем в нашем табеле эту особенность:
Теперь складываем количество дней за первый и второй период, потом — количество часов.
Для этого активизируем ячейку, в которой хотим создать формулу, и пишем в ней БЕЗ ПРОБЕЛОВ соответствующие знаки или активизируем (выделяем левой клавишей мыши) соответствующие ячейки в следующем порядке:
= [Количество дней(часов) за 1 половину месяца] + [Количество дней(часов) за 2 половину месяца] ENTER
При желании можно автоматизировать столбец «Количество неявок». Для этого вне поля Табеля учета рабочего времени выделим ячейку, в которой будем проставлять количество календарных дней в текущем месяце.
С помощью абсолютной ссылки посчитаем дни неявки:
и часы неявки по формуле:
= [Количество дней в месяце] * [Количество часов в день] — [Отработанное количество часов] ENTER
Все полученные формулы копируем и вставляем в соответствующие ячейки табеля до конца списка сотрудников.
Все, что можно было автоматизировать, мы автоматизировали. Теперь можно скрыть столбцы, которые находятся справа от Табеля учета рабочего времени.
Остался один маленький нюанс. В случае, если количество сотрудников превышает число строк готового табеля, необходимо скопировать готовый лист и добавить столько его копий в файл, сколько необходимо для внесения всех сотрудников.
Как скопировать лист и вставить в существующий файл
Активизируем нужный нам лист (внизу страницы нажимаем на него левой клавишей мыши), вызываем меню правой клавишей мыши и выбираем «Переместить/скопировать»:
Выбираем лист, перед которым нужно поместить копируемый лист и стмечаем галочкой квадратик «создавать копию»:
Нажимаем ОК и получаем новый лист, полностью идентичный копируемому. Созданная копия помечается цифрой 2, заключенной в скобки — (2).
Полученный лист можно переименовать. Таких листов можно сделать неограниченное количество.