Excel расчет рабочих часов между датами

Explanation 

This formula uses the NETWORKDAYS function calculate total working days between two dates, taking into account weekends and (optionally) holidays. Holidays, if provided, must be a range of valid Excel dates. Once total work days are known, they are simply multiplied by a fixed number of hours per day, 8 in the example shown.

The NETWORKDAYS function includes both the start and end date in the calculation, and excludes both Saturday and Sunday by default. The function will also exclude holidays when then are provided as the «holidays» argument as a range of valid dates.

In these example shown, the first two formulas use the NETWORKDAYS function.

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

If your workweek includes days other than Monday through Friday, you can switch to the NETWORKDAYS.INTL function, which provides a «weekend» argument that can be used to define which days of the week are workdays and weekend days. NETWORKDAYS.INTL can be configured just like NETWORKDAYS, but it provides an additional argument called «weekend» to control which days in a week are considered workdays.

The next 4 formulas use the NETWORKDAYS.INTL function:

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

Click the function names above to learn more about configuration options.

Custom work schedule

This formula assumes all working days have the same number of work hours. If you need to calculate work hours with a custom schedule where work hours vary according to the day of week, you can try a formula like this:

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

You can find an explanation here.

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

  • Расчет рабочих часов между двумя датами, исключая выходные по умолчанию
  • Рассчитать часы работы между двумя датами, исключая выходные и праздничные дни
  • Рассчитать часы работы между двумя датами, исключая нестандартные выходные
  • Рассчитайте часы работы между двумя датами, исключая настраиваемые выходные и праздничные дни

Расчет рабочих часов между двумя датами, исключая выходные по умолчанию

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

=NETWORKDAYS(start_date,end_date) * working_hours

  • start_date, end_date: Первая и последняя даты для расчета рабочих дней между ними.
  • working_hours: Количество рабочих часов в каждый рабочий день. (Обычно рабочее время составляет 8 часов на каждый рабочий день, вы можете изменить его по своему усмотрению.)

1. Пожалуйста, примените следующую формулу для расчета рабочего времени:

=NETWORKDAYS(A2,B2 )*8

Затем перетащите маркер заполнения в ячейки, в которые вы хотите вставить эту формулу, и вы получите список результатов дат, см. Снимок экрана:

2. Затем вы должны отформатировать ячейки даты в ячейку общего формата, выберите рассчитанные ячейки и нажмите Общие из Формат номера спуститься под Главная вкладка, то вы увидите рабочее время, как показано на следующем скриншоте:


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

Если в двух датах есть праздничные дни, чтобы исключить эти праздники одновременно, как вы могли бы решить эту задачу в Excel?

Общий синтаксис:

=NETWORKDAYS(start_date, end_date, [holidays]) * working_hours

  • start_date, end_date: Первая и последняя даты для расчета рабочих дней между ними.
  • holidays: Диапазон ячеек дат, который вы хотите исключить из двух дат.
  • working_hours: Количество рабочих часов в каждый рабочий день. (Обычно рабочее время составляет 8 часов на каждый рабочий день, вы можете изменить его по своему усмотрению.)

1. Введите следующую формулу в пустую ячейку, в которую вы хотите вывести результат:

=NETWORKDAYS(A4,B4,$E$4:$E$6 )*8

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

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


Рассчитать часы работы между двумя датами, исключая нестандартные выходные

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

=NETWORKDAYS.INTL(start_date, end_date, [weekend]) * working_hours

  • start_date, end_date: Первая и последняя даты для расчета рабочих дней между ними.
  • weekend: Определенные дни недели, которые вы хотите установить как выходные вместо выходных по умолчанию. Это может быть номер выходного дня или строка.
  • working_hours: Количество рабочих часов в каждый рабочий день. (Обычно рабочее время составляет 8 часов на каждый рабочий день, вы можете изменить его по своему усмотрению.)

Значения числа выходных обозначают следующие выходные дни:

Номер выходного дня Выходные дни
1 или опущено Суббота и воскресенье
2 Воскресенье и понедельник
3 Понедельник и вторник
4 Вторник и среда
5 Среда и четверг
6 Четверг и Пятница
7 Пятница и суббота
11 Только воскресенье
12 Только понедельник
13 Только вторник
14 Только среда
15 Только четверг
16 Только пятница
17 Только суббота

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

=NETWORKDAYS.INTL(A4,B4,11)*8

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


Рассчитайте часы работы между двумя датами, исключая настраиваемые выходные и праздничные дни

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

=NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays]) * working_hours

  • start_date, end_date: Первая и последняя даты для расчета рабочих дней между ними.
  • weekend: Определенные дни недели, которые вы хотите установить как выходные вместо выходных по умолчанию. Это может быть номер выходного дня или строка.
  • holidays: Диапазон ячеек дат, который вы хотите исключить из двух дат.
  • working_hours: Количество рабочих часов в каждый рабочий день. (Обычно рабочее время составляет 8 часов на каждый рабочий день, вы можете изменить его по своему усмотрению.)

Например, мы можем использовать приведенную ниже формулу, чтобы получить часы работы, исключая настраиваемые выходные (воскресенье и понедельник) и праздничные дни:

=NETWORKDAYS.INTL(A4,B4,2,$E$4:$E$6)*8

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


Используемые относительные функции:

  • NETWORKDAYS:
  • Эта функция используется для расчета количества рабочих дней между двумя заданными датами.
  • NETWORKDAYS.INTL:
  • Он возвращает количество рабочих дней за исключением выходных по умолчанию (суббота и воскресенье) или любых дней, указанных как выходные.

Относительные часы работы / статьи о рабочем дне:

  • Рассчитать количество рабочих часов в месяц в Excel:
  • Обычно большинство из нас может работать 8 часов в день 5 дней в неделю. Здесь я хочу получить общее количество рабочих часов в месяц для расчета зарплаты. Как посчитать общее количество рабочих часов в месяц в Excel?
  • Рассчитайте количество рабочих часов сети между двумя датами, исключая выходные или праздничные дни:
  • Во многих компаниях персонал оплачивается по рабочим часам. Подсчитать чистое рабочее время в день легко, но как насчет того, чтобы рассчитать чистое рабочее время в диапазоне дат?
  • Рассчитать количество рабочих дней, оставшихся в текущем месяце в Excel:
  • В этой статье представлены методы расчета количества рабочих дней, оставшихся в текущем месяце с сегодняшнего дня или на основе заданной даты.
  • Найти первый / последний день или рабочий день месяца в Excel:
  • Вы знаете, как найти первый или последний день и первый или последний рабочий день заданной даты месяца на листе? Например, у меня есть дата 2014/5/21, и теперь я хочу знать первый и последний день этого месяца, то есть 2014/5/1 и 2014/5/31, чтобы получить первый рабочий день 2014 / 5/1, а последний рабочий день — 2014.
  • Добавить количество рабочих / рабочих дней или часов к дате в Excel:
  • Возможно, вам потребуется добавить количество рабочих дней или часов на сегодняшний день, чтобы знать точное время, когда вы закончите задачу в течение рабочего времени.

Лучшие инструменты для работы в офисе

Kutools for Excel — Помогает вам выделиться из толпы

Хотите быстро и качественно выполнять свою повседневную работу? Kutools for Excel предлагает 300 мощных расширенных функций (объединение книг, суммирование по цвету, разделение содержимого ячеек, преобразование даты и т. д.) и экономит для вас 80 % времени.

  • Разработан для 1500 рабочих сценариев, помогает решить 80% проблем с Excel.
  • Уменьшите количество нажатий на клавиатуру и мышь каждый день, избавьтесь от усталости глаз и рук.
  • Станьте экспертом по Excel за 3 минуты. Больше не нужно запоминать какие-либо болезненные формулы и коды VBA.
  • 30-дневная неограниченная бесплатная пробная версия. 60-дневная гарантия возврата денег. Бесплатное обновление и поддержка 2 года.

Лента Excel (с Kutools for Excel установлены)


Вкладка Office — включение чтения и редактирования с вкладками в Microsoft Office (включая Excel)

  • Одна секунда для переключения между десятками открытых документов!
  • Уменьшите количество щелчков мышью на сотни каждый день, попрощайтесь с рукой мыши.
  • Повышает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
  • Добавляет эффективные вкладки в Office (включая Excel), точно так же, как Chrome, Firefox и новый Internet Explorer.

Снимок экрана Excel (с установленной вкладкой Office)

На чтение 10 мин. Просмотров 13k.

Содержание

  1. Получить дни, месяцы и годы между датами
  2. Подсчитайте дни недели между датами
  3. Подсчитывать праздники между двумя датами
  4. Создание диапазона дат с двух дат
  5. Получать рабочие часы между датами
  6. Получать рабочие часы между датами собственного расписания
  7. Получать рабочие дни между датами
  8. Список праздников между двумя датами

Получить дни, месяцы и годы между датами

= РАЗНДАТ (начало; конец; «г»)&»годы»; & РАЗНДАТ(начало; конец; «гм») & «месяцы»; & РАЗНДАТ(начало; конец; «мд») & «дни»

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

Получить дни, месяцы и годы между датами

В показанном примере формула в D5:

= РАЗНДАТ(B5; C5; «г») & «годы»; & РАЗНДАТ(B5; C5; «гм») & «месяцы»; & РАЗНДАТ(B5; C5; «мд») & «дни»

Где даты начала указаны в столбце B, а даты окончания — в столбце C.

Функция РАЗНДАТ предназначена для вычисления разницы между датами в годах, месяцах и днях. Доступны несколько вариантов (например, время в месяцах, время в месяцах без учета дней и лет и т. д.), И они устанавливаются аргументом «единица» в функции.

В показанном примере мы вычисляем отдельно годы, месяцы и дни, затем «склеиваем» результаты вместе с конкатенацией. Чтобы получить целые годы, мы используем:

РАЗНДАТ(B5; C5; «г») и «годы»

Чтобы получить целые месяцы, мы используем:

РАЗНДАТ(B5; C5; «гм») & «месяцы»

И мы вычисляем дни с:

РАЗНДАТ(B5; C5; «мд») & «дни»

Остальная часть формулы — это просто необходимый текст, объединенный с оператором конкатенации (&).

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

=ЕСЛИ(РАЗНДАТ(B5; C5; «г»); РАЗНДАТ (B5; C5; «г») & «годы»; «»)
ЕСЛИ(РАЗНДАТ(B5; C5; «гм»); РАЗНДАТ(B5; C5; «гм») & «месяцы»; «»)
ЕСЛИ(РАЗНДАТ(B5; C5; «мд»); РАЗНДАТ(B5; C5; «мд») & «дни»; «»)

Для предотвращения появления дополнительных запятых в конечном результате запятые заменяются пробелами. Использование исходной формулы РАЗНДАТ как «логического теста» внутри ЕСЛИ работает, потому что ЕСЛИ обрабатывает любой ненулевой результат как истинный.

Подсчитайте дни недели между датами

= СУММПРОИЗВ(- (ДЕНЬНЕД(СТРОКА(ДВССЫЛ (дата1 & «:» & дата2))) = дни))

Чтобы подсчитать количество понедельников, пятниц, воскресений и т. п. между двумя датами, вы можете использовать формулу массива, которая использует несколько функций: СУММПРОИЗВ, ДЕНЬНЕД, СТРОКА и ДВССЫЛ.

Подсчитайте дни недели между датами

В показанном примере формула в ячейке E5 имеет следующий вид:

= СУММПРОИЗВ(- (ДЕНЬНЕД(СТРОКА(ДВССЫЛ(B5 & «:» & C5))) = D5))

В основном эта формула использует функцию ДЕНЬНЕД, чтобы проверить количество дат, чтобы увидеть, попадают ли они в заданный день недели и функцию СУММПРОИЗВ, чтобы подсчитать общее количество.

Когда дана дата, ДЕНЬНЕД просто возвращает число от 1 до 7, соответствующее конкретному дню недели. С настройками по умолчанию: 1 = воскресенье и 7 = суббота. Итак, 2 = понедельник, 6 = пятница и так далее.

Трюк этой формулы заключается в понимании того, что даты в Excel — это только серийные номера, которые начинаются 1 января 1900 года. Например, 1 января 2016 года — это серийный номер 42370, а 8 января — 42377. Даты в Excel выглядят только как даты, когда применяется формат числа даты.

Итак, возникает вопрос — как вы можете построить массив дат, который вы можете использовать в функции ДЕНЬНЕД, чтобы узнать соответствующие дни недели?

Ответ: использовать СТРОКА с ДВССЫЛ следующим образом:

СТРОКА(ДВССЫЛ(дата1 & «:» & дата2))

ДВССЫЛ позволяет связанным датам «42370: 42377» интерпретироваться как номера строк. Затем функция СТРОКА возвращает массив вроде этого:

{42370; 42371; 42372; 42373; 42374; 42375; 42376; 42377}

Функция ДЕНЬНЕД оценивает эти числа как даты и возвращает этот массив:

{6; 7; 1; 2; 3; 4; 5; 6}

Который тестируется на заданный день недели (6 в данном случае, начиная с D6). Как только результаты теста преобразуются в 1 и 0 с двойным дефисами, этот массив обрабатывается СУММПРОИЗВ:

{1; 0; 0; 0; 0; 0; 0; 1}

Который возвращает 2.

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

= СУММПРОИЗВ((праздники> = начало) * (праздники <= конец))

Для подсчета праздничных дней, которые происходят между двумя датами, вы можете использовать функцию СУММПРОИЗВ.

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

В показанном примере формула в F7:

=СУММПРОИЗВ((B5:B13>=F5)*(B5:B13<=F6))

Эта формула использует два выражения в одном массиве внутри функции СУММПРОИЗВ.

Первое выражение проверяет каждую дату отпуска, чтобы увидеть, больше или равна дате начала в F5:

(B5: B13> = F5)

Это возвращает массив значений ИСТИНА/ЛОЖЬ, например:

{ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ИСТИНА; ИСТИНА; ИСТИНА; ИСТИНА }

Второе выражение проверяет каждую дату отпуска, чтобы увидеть, меньше или равна конечной дате в F6:

(B5: B13 <= F6)

Который возвращает массив значений ИСТИНА/ЛОЖЬ следующим образом:

{ИСТИНА; ИСТИНА; ИСТИНА; ИСТИНА; ИСТИНА; ИСТИНА; ИСТИНА; ИСТИНА; ЛОЖЬ}

Умножение этих двух массивов автоматически присваивает значения ИСТИНА/ЛОЖЬ единицам и нулям, что приводит к массивам, которые выглядят так:

= СУММПРОИЗВ(({0; 0; 0; 0; 1; 1; 1; 1; 1}) * ({1; 1; 1; 1; 1; 1; 1; 1; 0}))

После умножения у нас есть только один массив:

=СУММПРОИЗВ ({0; 0; 0; 0; 1; 1; 1; 1; 0}})

Наконец, СУММПРОИЗВ суммирует элементы в массиве и возвращает 4.

Для подсчета праздничных дней, которые происходят только в рабочие дни (понедельник-пятница), вы можете расширить формулу следующим образом:

=СУММПРОИЗВ ((диап> = F5) * (диап <= F6) * (ДЕНЬНЕД(диап; 2) <6))

Где диап — диапазон, содержащий даты отпуска.

Создание диапазона дат с двух дат

= ТЕКСТ(дата1; «формат») & «-» & ТЕКСТ (дата2; «формат»)

Чтобы отобразить диапазон дат в одной ячейке на основе дат в разных ячейках, вы можете использовать формулу, основанную на функции ТЕКСТ.

Создание диапазона дат с двух дат

В показанном примере формула в ячейке E5:

= ТЕКСТ (B5; «ммм д») & «-» & ТЕКСТ(C5; «ммм д»)

Функция ТЕКСТ принимает числовые значения и преобразует их в текстовые значения, используя заданный вами формат. В этом примере мы используем формат «ммм д» для обеих функций TEКСT в E5. Результаты объединяются дефисом, используя простую конкатенацию.

Примечание. Другие примеры в столбце E используют разные текстовые форматы.

Если дата окончания отсутствует, формула не будет работать правильно, потому что дефис будет добавлен к дате начала (например, «1 марта»).

Чтобы обработать этот случай, вы можете обернуть конкатенацию и вторую функцию ТЕКСТ внутри ЕСЛИ следующим образом:

= ТЕКСТ(дата1; «ммм д») & ЕСЛИ(дата2 <> «»; «-» &ТЕКСТ(дата2; «ммм д»); «»)

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

Для обработки случая, когда обе даты отсутствуют, вы можете вложить еще один ЕСЛИ следующим образом:

= ЕСЛИ(дата1 <> «»; ТЕКСТ(дата1; «мммм д») & ЕСЛИ(дата2 <> «»; «-» & ТЕКСТ(дата2; «ммм д»); «»); «»)

Эта формула просто возвращает пустую строку («»), когда дата1 недоступна.

Получать рабочие часы между датами

= ЧИСТРАБДНИ (начало; конец; праздники) * часы

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

Получать рабочие часы между датами

В показанном примере формула в D5:

=ЧИСТРАБДНИ(B5;C5)*8

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

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

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

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

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

{= СУММ(ВЫБОР(ДЕНЬНЕД(СТРОКА(ДВССЫЛ(дата1 & «:» & дата2))); 1;2;3;4;5;6;7))}

Чтобы вычислить часы работы между двумя датами с настраиваемым расписанием, вы можете использовать формулу, основанную на функциях ДЕНЬНЕД и ВЫБОР.

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

В показанном примере формула в F5:

=СУММ(ВЫБОР(ДЕНЬНЕД(СТРОКА(ДВССЫЛ(B5&»:»&C5)));0;8;4;8;4;8;0))

Который возвращает 32 часа, основанный на пользовательском расписании, где 8 часов работают в Пн, Ср и Пт, а 4 часа — в Пт и Вт.

Примечание. Это формула массива, которая должна вводиться с помощью Control + Shift + Enter.

По сути, эта формула использует функцию ДЕНЬНЕД для определения дня недели (например, понедельник, вторник и т. д.) Для каждого дня между двумя указанными датами.

ДЕНЬНЕД возвращает число от 1 до 7, соответствующее конкретному дню недели. С настройками по умолчанию: 1 = воскресенье и 7 = суббота, поэтому, 2 = понедельник, 6 = пятница и так далее.

Хитрость этой формулы заключается в создании массива дат, которые вы можете использовать в функции ДЕНЬНЕД. Это делается с помощью СТРОКА с ДВССЫЛ следующим образом:

СТРОКА(ДВССЫЛ(дата1 & «:» & дата2))

ДВССЫЛ позволяет связанным датам «» 42464: 42470 «» интерпретироваться как номера строк. Затем функция СТРОКА возвращает массив вроде этого:

{42464; 42465; 42466; 42467; 42468; 42469; 42470}

Функция ДЕНЬНЕД оценивает эти числа как даты и возвращает этот массив:

{2; 3; 4; 5; 6; 7; 1}

Эти числа соответствуют дню недели каждой даты.

Этот массив затем передается функции ВЫБОР в качестве «номера индекса», который был сконфигурирован с 7 значениями:

Значение1 – рабочие дни в воскресенье

Значение 2 — рабочие часы в понедельник

Значение 3 — рабочие часы вторника

Значение 4 — Рабочие часы в среду

Значение 5 — рабочие часы в четверг

Значение 6 — рабочие часы в пятницу

Значение 7 — работа в субботу

Поскольку мы даем ВЫБОР более чем одно значение индекса, он возвращает более одного результата в массиве следующим образом:

{8; 4; 8; 4; 8; 0; 0}

Эти цифры соответствуют часам, которые выполнялись каждый день с даты 1 по дату2.

Наконец, чтобы получить итоговое значение, нам просто нужно обернуть ВЫБОР в СУММ и ввести формулу массива.

В этом примере итоговый результат составляет 32 часа.

Примечание: вы могли бы подумать, что вы могли бы использовать СУММПРОИЗВ вместо СУММ, чтобы избежать синтаксиса массива, но он не работает; Вам все равно придется использовать CSE. Я знаю, что причина заключается в использовании ДВССЫЛ с СТРОКА для построения массива значений индекса, но не знаю, почему это требует CSE.

Получать рабочие дни между датами

= ЧИСТРАБДНИ(нач_дата; кон_дата; праздники)

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

Получать рабочие дни между датами

Например, если у вас есть дата 4 января 2016 года (понедельник) в ячейке B4 и 11 января 2016 года (также понедельник) в ячейке C4, эта формула вернет 6:

= ЧИСТРАБДНИ(B4; C4)

Обратите внимание, что ЧИСТРАБДНИ включает как начальную, так и конечную даты в расчете, если они являются рабочими днями.

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

= ЧИСТРАБДНИ(B4; C4; H1: H10)

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

Список праздников между двумя датами

{= ОБЪЕДИНИТЬ («;»; ИСТИНА; ЕСЛИ(даты> = старт; ЕСЛИ(даты <= конец; праздники; «»); «»))}

Для отображения праздников, которые происходят между двумя датами, вы можете использовать формулу, основанную на функциях ОБЪЕДИНИТЬ и ЕСЛИ.

В показанном примере формула в F8:

{= ОБЪЕДИНИТЬ(«;»; ИСТИНА; ЕСЛИ(B4: B12> = F5; ЕСЛИ(B4: B12 <= F6; C4: C12; «»); «»))}

Это формула массива и должна вводиться control + shift + enter.

На высоком уровне эта формула использует вложенную функцию ЕСЛИ для возвращения массива праздников между двумя датами. Затем этот массив обрабатывается функцией ОБЪЕДИНИТЬ, которая преобразует массив в текст, используя запятую в качестве разделителя.

Работая изнутри, мы генерируем массив совпадений праздников, используя вложенный ЕСЛИ:

ЕСЛИ(B4: B12> = F5; ЕСЛИ(B4: B12 <= F6; C4: C12; «»); «»)

Если даты в B4: B12 больше или равны начальной дате в F5, и если даты в B4: B12 меньше или равны конечной дате в F6, тогда ЕСЛИ возвращает массив праздничных дней. В показанном примере список выглядит так:

{«»; «»; «День президента»; «День памяти»; «»; «»; «»; «»; «»}

Этот массив затем доставляется в функцию ОБЪЕДИНИТЬ в качестве аргумента текст1, где разделитель имеет значение «,», а игнорировать_пустые — ИСТИНА. Функция ОБЪЕДИНИТЬ обрабатывает элементы в массиве и возвращает строку, где каждый непустой элемент разделяется запятой и пробелом.

Примечание. Функция ОБЪЕДИНИТЬ является новой в Excel 2016.

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

Расчет рабочего дня без выходных

Рассчитать рабочее время без выходных/праздников


Содержание

  1. Расчет рабочего дня без выходных
  2. Рассчитать рабочее время, исключая выходные/праздничные дни
  3. Легко добавлять дни/годы/месяц/часы/минуты/секунды к дате и времени в Excel

Расчет рабочего дня без выходных

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

1. Выберите две ячейки, в которые вы будете вводить время даты начала и время даты окончания, и щелкните правой кнопкой мыши, чтобы выбрать Формат ячеек из контекстного меню. См. Снимок экрана:

2. В диалоговом окне Формат ячеек перейдите на вкладку Число и выберите Пользовательский из Категории и введите m/d/yyyy h: mm в текстовое поле Type в правом разделе. См. Снимок экрана:

3. Нажмите ОК . И введите время даты начала и время окончания в две ячейки по отдельности. См. Снимок экрана:

4. В ячейке рядом с этими двумя ячейками, например, C13, введите эту формулу = ЧИСТРАБДНИ (A13, B13) -1-MOD (A13,1) + MOD (B13,1) и нажмите Введите , и вы получите результат в настраиваемом формате, выберите ячейку результата, нажмите вкладку Главная и перейдите к списку Числовой формат . , чтобы выбрать «Общие», чтобы отформатировать его как правильный формат. См. Снимок экрана:


Рассчитать рабочее время, исключая выходные/праздничные дни

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

Рассчитать чистое рабочее время без выходных

1. Выделите две ячейки и отформатируйте их как пользовательский формат m/d/yyyy h: mm и введите время даты начала и время даты окончания. См. Снимок экрана:

2. И в следующей за ячейкой, например, C2, введите эту формулу,
= (ЧИСТРАБДНИ (A2, B2) -1) * (“17:30” – “8:30”) + IF (ЧИСТРАБДНИ ( B2, B2), MEDIAN (MOD (B2,1), «17:30», «8:30»), «17:30») – MEDIAN (NETWORKDAYS (A2, A2) * MOD (A2,1), «17:30», «8:30»),
нажмите клавишу Enter , после чего вы получите числовую строку. См. Снимок экрана:

3. Щелкните правой кнопкой мыши числовую строку и выберите Форматировать ячейки в контекстном меню, а в диалоговом окне Форматировать ячейки выберите Пользовательский . сформируйте список Категория на вкладке Numbe r и введите это [h]: mm в текстовое поле Type. См. Снимок экрана:

4. Нажмите ОК . Теперь подсчитывается чистое рабочее время между двумя датами, исключая выходные.

Совет : в формуле A2 – время даты начала, B2 – время даты окончания, 8:30 и 17:30 – общее время начала и время окончания каждого дня, вы можете их изменить. по мере необходимости.

Расчет рабочих часов без учета выходных и праздничных дней

1. Как и выше, выберите две ячейки и отформатируйте их в пользовательском формате m/d/yyyy h: mm, а затем введите время даты начала и время даты окончания.

2. Выделите пустую ячейку и введите в нее дату праздника, здесь у меня 3 праздника, и я ввожу их отдельно в H1: H3. См. Снимок экрана:

3. Выберите пустую ячейку, в которую будет помещен подсчитанный результат, например C2,
= (NETWORKDAYS.INTL (A2, B2,11, H $ 1: H $ 3) -1) * (“17:30″ – ” 8:30 “) + IF (NETWORKDAYS.INTL (B2, B2,11, H $ 1: H $ 3), MEDIAN (MOD (B2,1),” 8:30 “,” 17:30 “),” 17: 30 “) – МЕДИАНА (NETWORKDAYS.INTL (A2, A2,11, H $ 1: H $ 3) * MOD (A2,1),« 8:30 »,« 17:30 »),
и нажмите Enter , вы получите числовую строку и отформатируете ее в произвольном формате [h]: mm. См. Снимок экрана:

Совет : в формула, A2 – время даты начала, B2 – время даты окончания, 8:30 и 17:30 – общее время начала и время окончания каждого дня, H1: H3 – ячейки праздников, вы можете изменять их по своему усмотрению. нужно.

Легко добавлять дни/годы/месяц/часы/минуты/секунды к дате и времени в Excel

Предположим, у вас есть данные о формате даты и времени в ячейке, и теперь вам нужно добавить количество дней, лет, месяцев, часов, минут или секунд до этой даты. Обычно использование формул является первым методом для всех пользователей Excel, но запомнить все формулы сложно. С помощью Kutools for Excel утилиты Date & Time Helper вы можете легко добавлять дни, годы, месяцы или часы, минуты или секунды к дате и времени. кроме того, вы можете вычислить разницу в датах или возраст на основе данного дня рождения, вообще не запоминая формулу. Нажмите, чтобы получить полнофункциональную бесплатную пробную версию через 30 дней!
Kutools for Excel: с более чем 300 удобными надстройками Excel, попробуйте бесплатно без ограничений в течение 30 дней.

ЧИСТРАБДНИ (функция ЧИСТРАБДНИ)

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше

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

Описание

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

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

Синтаксис

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

Аргументы функции ЧИСТРАБДНИ описаны ниже.

  • нач_дата    — обязательный аргумент. Начальная дата.

  • кон_дата    Обязательный. Конечная дата.

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

Важно:  Даты должны быть введены с использованием функции ДАТА или как результат вычисления других формул и функций. Например, для указания даты 23 мая 2012 г. воспользуйтесь выражением ДАТА(2012,5,23). Если ввести даты как текст, это может привести к возникновению проблем.

Замечания

  • В приложении Microsoft Excel даты хранятся в виде последовательных чисел, что позволяет использовать их в вычислениях. По умолчанию 1 января 1900 г. имеет порядковый номер 1, а 1 января 2012 г. — 40909, так как от 1 января 1900 г. он отс0 до 40 909 дней.

  • Если какой-либо из аргументов не является допустимой датой, networkDAYS возвращает #VALUE! значение ошибки #ЗНАЧ!.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Дата

Описание

01.10.2012

Дата начала проекта

01.03.2013

Дата окончания проекта

22.11.2012

Праздник

04.12.2012

Праздник

21.01.2012

Праздник

Формула

Описание

Результат

=ЧИСТРАБДНИ(A2;A3)

Число рабочих дней между датой начала (01.10.2012) и датой окончания (01.03.2013).

110

=ЧИСТРАБДНИ(A2;A3;A4)

Число рабочих дней между датой начала (01.10.2012) и датой окончания (01.03.2013) с вычетом праздничного дня 22.11.2012 как выходного.

109

=ЧИСТРАБДНИ(A2;A3;A4:A6)

Число рабочих дней между датой начала (01.10.2012) и датой окончания (01.03.2013) с вычетом трех праздничных дней.

107

К началу страницы

Нужна дополнительная помощь?

Понравилась статья? Поделить с друзьями:
  • Excel расширенный фильтр максимальное значение
  • Excel расчет процессоры что это
  • Excel расширенный фильтр исходный диапазон
  • Excel расчет процессоры тормозит
  • Excel расширенный фильтр если