Как посчитать количество смен в эксель

Обновлено: 08.07.2024

Функция предназначена для расчета рабочего времени сотрудников. Она определяет количество рабочих часов между указанным интервалом времени. Дополнительно можно указать время перерыва на обед(в минутах). При этом, если необходимо просуммировать общее время сотрудника за неделю, месяц и т.п.(или время работы сотрудников всего отдела) - можно указать диапазон ячеек и функция рассчитает суммарное время рабочих часов.

Вызов команды через стандартный диалог:
Мастер функций-Категория "MulTEx"- РАБ_ЧАС
Вызов с панели MulTEx:
Сумма/Поиск/Функции - Полезности - РАБ_ЧАС
Синтаксис:
=РАБ_ЧАС( A1 ; B1 ;60)
=РАБ_ЧАС( B2:I2 ; B3:I3 ; B4:I4 )
=РАБ_ЧАС( A1 ; B1 ; C1 )
=РАБ_ЧАС( A1 ; B1 )

ВРЕМЯ_Н( A1 ) - указывается ссылка на ячейку, в которой записано время начала рабочего дня в формате даты-времени Excel. Читать подробнее про дату и время в Excel - Как Excel воспринимает данные

ВРЕМЯ_К( B1 ) - указывается ссылка на ячейку, в которой записано время окончания рабочего дня в формате даты-времени Excel.

Формат ячеек(время)

Пример работы с функцией
В ячейке A1 записано время начало рабочего дня - 9:00 , а в ячейке B1 записано время окончания рабочего дня - 18:00 . Для расчета количества рабочих часов функцию необходимо записать следующим образом:
=РАБ_ЧАС( A1 ; B1 )
в результате получим число " 0,375 ", что будет равно 9 часам. Чтобы это число отображалось в привычном временном виде( 9:00 ), необходимо выделить ячейку с функцией -правая кнопка мыши -Формат ячеек (Format cell) -вкладка Число (Number) -группа Время (Time) . Выбрать там формат " 37:30:55 ". Либо на той же вкладке выбрать группу "(все форматы)" и выбрать формат " [ч]:мм:сс ":

Чтобы исключить из подсчета время, затраченное сотрудником на обед, формулу необходимо записать в таком виде:
=РАБ_ЧАС( A1 ; B1 ;60)

Функция так же корректно рассчитает время и для ночных смен. Например, в ячейке A1 записано 21:00 , а в ячейке B1 - 9:00 . Чтобы рассчитать разницу в часах для таких периодов в Excel стандартно пришлось прибегать к различным трюкам. Функция РАБ_ЧАС не требует каких-либо дополнительных манипуляций - количество рабочих часов будет рассчитываться так же, как и для обычных дневных смен:
=РАБ_ЧАС( A1 ; B1 ;60)

Если же необходимо рассчитать не просто количество рабочих часов в день для одного сотрудника, а общее количество рабочих часов для сотрудника за месяц или рабочие часы сотрудников всего отдела - то в функции необходимо будет указать все ячейки начала рабочего дня и все ячейки окончания:
=РАБ_ЧАС( B2:I2 ; B3:I3 ;60)

Функция в этом случае рассчитает количество рабочих часов для каждого дня и сложит их в одну сумму

Если для каждого дня или отдельного сотрудника время обеденного перерыва может различаться, то в аргументе ОБЕД необходимо указать ссылку на ячейки, в которых записано время обеда в минутах:

Вертикальная таблица

Значения могут располагаться как горизонтально(как на картинке выше), так и вертикально:

Довольно распространенная задача: определить количество рабочих дней в период между двумя датами – это частный случай расчета числа дней, который мы уже рассматривали ранее. Тем не менее, в Excel для этого даже существуют специальные функции.

Не совсем правильно будет пользоваться простейшими методами вычитания одной даты из другой либо функцией РАЗНДАТ. Ведь мы при этом не учитываем наш график труда и отдыха, что весьма важно.

Microsoft Excel имеет две основных функции, специально предназначенных для расчета будних дней – РАБДЕНЬ (WORKDAY) и ЧИСТРАБДНИ (NETWORKDAYS). Мы также остановимся на дополнительных РАБДНИ.МЕЖД и ЧИСТРАБДНИ.МЕЖД, которые могут быть очень полезными.

Функция РАБДЕНЬ определяет момент времени, который наступит через какое-то количество рабочих дней в будущем или в прошлом. Вы можете использовать ее для добавления или вычитания рабочих дней к определенной точке времени.

Используя формулу ЧИСТРАБДНИ, вы можете рассчитать, сколько рабочих дней во временном интервале.

А теперь давайте подробнее рассмотрим каждую их них отдельно и посмотрим, как можно использовать для расчета будних дней в ваших таблицах Excel.

Функция РАБДЕНЬ.

Она возвращает момент времени, который наступит через определенное число рабочих дней (или наступил ранее). Она не учитывает дни отдыха и любые праздники, которые вы отдельно укажете.

Она подходит для расчета производственных графиков и сроков исполнения на основе стандартного производственного календаря, причем суббота и воскресенье – это для нее всегда дни отдыха.

РАБДЕНЬ - это встроенная функция в Excel 2007, 2010, 2013 и 2016. Ее можно ввести руками либо при помощи мастера функций. В более ранних версиях вам нужно специально включать пакет инструментов анализа.

Вам необходимо использовать следующие аргументы:

РАБДЕНЬ(дата_начала; дни; [праздничные_дни])

Первые два обязательны, а последний – по желанию:

  • Дата_начала – с нее начинается подсчет дней.
  • Дни - рабочие дни, которые нужно добавить или вычесть из начальной точки отсчета. Положительное число возвращает будущий момент времени, отрицательное — возвращает в прошлое.
  • Праздничные_дни - необязательный список дат, которые следует считать нерабочими днями. Это может быть либо диапазон ячеек, содержащих даты, которые вы хотите исключить из расчетов, либо константа массива.

Теперь, когда вы знаете основы, давайте посмотрим, как вы можете использовать РАБДЕНЬ в ваших таблицах Excel.

Как добавить или вычесть рабочие дни.

Чтобы рассчитать рабочие дни в Эксель, следуйте этим простым правилам:

  • Чтобы добавить будние дни, введите положительное число в качестве аргумента дни в формуле РАБДЕНЬ.
  • Чтобы вычесть будние дни, используйте там же отрицательное число.

Предположим, у вас в ячейке A10 указан начальный момент времени, а список праздников — в ячейках А2: А7. Вы хотите узнать, какое число будет через 90 рабочих дней в будущем и прошлом.

Вы можете сделать это, используя следующие формулы:

Чтобы добавить столько же к начальной точке, но учитывая праздничные дни в А2: А7:

Чтобы вычесть 90 рабочих дней, исключая праздники:

Чтобы рассчитать сроки на основе текущей даты, используйте функцию СЕГОДНЯ() в качестве точки начала:

Чтобы добавить 90 рабочих дней:

Чтобы переместиться на такое же время назад по отношению к сегодня:

Чтобы указать время начала непосредственно в формуле, используйте формулу ДАТА():

На следующем скриншоте показаны результаты всех этих и еще нескольких формул РАБДЕНЬ:


И, естественно, вы можете указать, сколько будних дней нужно добавить либо вычесть из точки начала в некоторой ячейке, а затем сослаться на эту ячейку в своей формуле. Например:

Где A10 - начальная датировка, а C1 - число рабочих дней до (отрицательные числа) или после (положительные числа) нее, без учета праздников.

Настраиваем свой график выходных дней.

В случае, если у вас применяется какой-то особенный график нерабочих дней (не суббота и воскресенье), то вам в помощь – формула РАБДЕНЬ.МЕЖД (WORKDAY.INTL в английской версии).

Она появилась в Excel 2010, в более старых версиях программы ее нет.

Дополнительно к своей предшественнице, она позволяет указывать, какие именно дни недели предназначены у вас для отдыха.

Синтаксис ее выглядит следующим образом:

РАБДЕНЬ.МЕЖД (дата_начала, дни, [выходные], [праздничные_дни])

Первые два аргумента являются обязательными и знакомыми нам:

Дата_начала – начальный момент времени.

Дни - будние дней до (отрицательное значение) или после (положительное значение) начальной точки. Если этот аргумент в результате каких-то расчетов передается в виде десятичного числа, то дробная часть отбрасывается.

Последние два аргумента являются необязательными:

Выходные - указывает, что именно следует считать днями отдыха. Это может быть либо число, либо текст, как показано ниже.

Число

Выходные дни

1 или отсутствует

Только в пятницу

Текст для указания выходного дня - серия цифр из семи нулей и единиц, представляющих семь дней недели, начиная с понедельника. 1 означает нерабочий день, и 0 — соответственно наоборот. Например:

  • «0000010» — суббота - отдыхаем.
  • «1000001» — понедельник и воскресенье - отдыхаем.

И вот как это может выглядеть на примере:


Я бы рекомендовал обратить внимание на конструкцию

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

Все остальное, думаю, достаточно хорошо понятно из скриншота.

Замечание. Функции Excel РАБДЕНЬ и РАБДЕНЬ.МЕЖД возвращают порядковые номера (числа), представляющие даты. Чтобы они отображались как нужно, выделите нужные ячейки и нажмите Ctrl + 1, чтобы открыть диалоговое окно «Формат ячеек». На вкладке «Число» выберите «Дата» и определите нужный формат.

Как рассчитать, сколько рабочих дней между двумя датами?

В ситуациях, когда вам нужно получить число рабочих дней в каком-то временном промежутке, используйте формулу ЧИСТРАБДНИ() (в английском варианте – NETWORKDAYS) :

ЧИСТРАБДНИ (дата_начала; дата_окончания; [праздничные_дни])

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

Чтобы узнать, сколько будних дней между двумя точками в столбцах A и B, используйте следующую формулу:


При желании вы можете ввести свой список праздников в отдельный диапазон и дополнить формулу, чтобы исключить эти дни:

В результате учитываются только будние дни.

А если у нас свой особенный график труда и отдыха?

Если вам нужно обрабатывать какие-то особенные нерабочие дни (например, отдыхаем только в воскресенье, в понедельник и воскресенье и т.д), используйте функцию ЧИСТРАБДНИ.МЕЖД, которая позволяет указать, какие дни недели предназначены для отдыха.

ЧИСТРАБДНИ.МЕЖД (WORKDAY.INTL в английском варианте) - более мощная модификация функции ЧИСТРАБДНИ, которая работает с пользовательскими параметрами выходных . Как и его предшественница, она возвращает число рабочих дней в будущем или в прошлом, но позволяет вам определить, какие именно дни недели в вашем графике нужно считать нерабочими.

Формула ЧИСТРАБДНИ.МЕЖД появилась впервые в Excel 2010, и поэтому недоступна в более ранних версиях программы.

Синтаксис ее выглядит следующим образом:

ЧИСТРАБДНИ.МЕЖД (дата_начала, дни, [выходные], [праздничные_дни])

Первые два аргумента являются обязательными и встречались нам уже неоднократно:

Дата_начала - начальная точка.

Дни - будние дней до (отрицательное значение) или после (положительное значение) точки начала. Если этот аргумент в результате каких-то расчетов предоставляется в виде десятичного числа, то он усекается до целого.

Последние два аргумента являются необязательными:

Выходные - указывает, в какие дни недели вы не работаете. Это может быть либо число, либо текст, как показано ниже.

Число

Выходные дни

1 или отсутствует

Только в пятницу

Текст для указания выходного дня - серия цифр из семи нулей и единиц, представляющих семь дней недели, начиная с понедельника. 1 означает день отдыха, а 0 — будний день. Например:

  • «0000011» - суббота и воскресенье – не работаем.
  • «1000001» - понедельник и воскресенье - отдыхаем.

На первый взгляд, такие конструкции могут показаться громоздкими и ненужными, но лично мне этот метод больше нравится, потому что вы можете создавать графики выходных «на лету», не запоминая никаких чисел.

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

А теперь несколько примеров.

=ЧИСТРАБДНИ.МЕЖД(A10;B10;1) – это знакомый нам вариант, когда нерабочими считаются суббота и воскресенье.

А вот =ЧИСТРАБДНИ(A10;B10;11) – отдых только в воскресенье,

=ЧИСТРАБДНИ.МЕЖД(A10;B10;2) – в воскресенье и понедельник. Такой расчет полезен, если в вашей организации свой график работы, не такой, как у всех.


не работаем в понедельник и вторник, учитывается также список праздников.

Например, давайте посмотрим, сколько нужно еще отработать до конца 2020 года. Для этого введем 31 декабря 2020 года в формате даты, и используем следующее выражение:

="Осталось "&ЧИСТРАБДНИ(СЕГОДНЯ();ДАТА(2020;12;31);A2:A7)&" дн. до конца года!"

Ух, осталось всего 203 дня! Не так много, как я думал :)
Примечание. Чтобы учесть свой индивидуальный график работы, используйте ЧИСТРАБДНИ.МЕЖД().

Как определить ближайший рабочий день?

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

Если выходными днями у нас традиционно считаются суббота и воскресенье, то ближайший рабочий день - это либо пятница, либо понедельник. Вот как это может выглядеть.

как рассчитать ближайший рабочий день

Для субботы подсчитать дату ближайшего понедельника можно двумя способами:

Ближайший рабочий день в прошлом (то есть прошлая пятница) определяется так:

Ну и если немного усложнить условие - если день попадает на субботу, тогда ближайший рабочий день - прошедшая пятница, а если на воскресенье - тогда предстоящий понедельник:

Как видите, на слишком уж сложно.

Возможные ошибки при расчетах.

  • аргументы начала и конца временного отрезка передают неверные данные (не являются датой, записаны как текст скорее всего)
  • аргумент «выходные» указан неверно (например, 22 или «000000011»).

Надеюсь, эти примеры и инструкции были вам полезны. Если еще остались вопросы - пишите в комментариях. Постараюсь ответить.

Также рекомендуем о работе с датами:

Как вывести месяц из даты - На примерах мы покажем, как получить месяц из даты в таблицах Excel, преобразовать число в его название и наоборот, а также многое другое. Думаю, вы уже знаете, что дата в… Функция Excel СЕГОДНЯ — синтаксис и основные применения - Функция СЕГОДНЯ в Excel делает именно то, на что указывает ее имя - возвращает сегодняшнюю дату. Синтаксис ее настолько прост, насколько это вообще возможно - у нее вообще нет аргументов. Всякий… Как быстро вставить сегодняшнюю дату в Excel? - Это руководство показывает различные способы ввода дат в Excel. Узнайте, как вставить сегодняшнюю дату и время в виде статической метки времени или динамических значений, как автоматически заполнять столбец или строку… Как посчитать количество дней между датами в Excel? Примеры и советы. - Из этого обзора вы узнаете несколько быстрых и простых способов подсчета, сколько дней проходит между двумя датами в Excel. Вам интересно, сколько составляет разница в днях, месяцах и годах между… 8 способов — как посчитать возраст в Excel по дате рождения. - В Excel нет специальной функции, чтобы посчитать возраст, однако существует несколько различных способов его определения на основе даты рождения. Вы узнаете несколько приемов, как рассчитать его в количестве полных лет,… Как преобразовать текст в дату в Excel или извлечь ее из сложной фразы? - Сейчас вы научитесь использовать функции Excel для преобразования текста в дату. Вы также узнаете, как это сделать без использования формул. Поскольку Excel - не единственное приложение, которое вы используете, иногда…

Читайте также: