Формула Excel: получить часы работы между датами -

Содержание

Общая формула

=NETWORKDAYS(start,end,holidays)*hours

Резюме

Чтобы рассчитать общее количество рабочих часов между двумя датами, вы можете использовать формулу, основанную на функции ЧИСТРАБДНИ, где «начало» - это дата начала, «конец» - дата окончания, «праздники» - это диапазон, который включает даты, а «часы» - это количество рабочих часов в рабочий день. В показанном примере формула в D7:

=NETWORKDAYS(B7,C7,holidays)*8

где «праздники» - именованный диапазон G6: G8.

Объяснение

В этой формуле используется функция ЧИСТРАБДНИ для вычисления общего количества рабочих дней между двумя датами с учетом выходных и (необязательно) праздничных дней. Праздники, если они указаны, должны быть диапазоном действительных дат Excel. Как только известно общее количество рабочих дней, их просто умножают на фиксированное количество часов в день, 8 в показанном примере.

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

В этом примере первые две формулы используют функцию ЧИСТРАБДНИ.

D6=NETWORKDAYS(B6,C6)*8 // no holidays D7=NETWORKDAYS(B7,C7,holidays)*8 // holidays provided

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

Следующие 4 формулы используют функцию ЧИСТРАБДНИ.INTL:

D8=NETWORKDAYS.INTL(B8,C8)*8 // Mon-Fri, no holidays D9=NETWORKDAYS.INTL(B9,C9,11)*8 // Mon-Sat, no holidays D10=NETWORKDAYS.INTL(B10,C10)*8 // M-F, no holidays D11=NETWORKDAYS.INTL(B11,C11,1,holidays)*8 // M-F, w/ holidays

Щелкните названия функций выше, чтобы узнать больше о параметрах конфигурации.

Индивидуальный график работы

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

=SUMPRODUCT(MID(schedule,WEEKDAY(ROW(INDIRECT(start&":"&end))),1)*ISNA(MATCH(ROW(INDIRECT(start&":"&end)),holidays,0)))

Здесь вы можете найти объяснение.

Интересные статьи...