Рабочие дни формула в excel
Как вычислить рабочие дни в Excel
Добрый день уважаемый читатель!
Сегодня я хочу немного облегчить жизнь и работу тех специалистов, в обязанностях которых существует работа с датами, хотя статья будет полезная многим. Существует много задач с датами, но в статье я рассмотрю и покажу, как вычислить рабочие дни в Excel. Эта возможность очень полезна и жизненно необходима для бухгалтеров по начислению зарплаты, экономистов и нормировщиков рабочего времени, специалистов отдела кадров. Я думаю, что о преимуществах автоматического вычисления дат вам очень пригодятся.
Для начала, вы должны знать, что Excel видит любую дату как обыкновенное числовое значение, которое начинается с цифры 1 и соответствует дате 1 января 1900 г. К примеру, 1 января 2018 г. будет равняться числу 43101 и разница между датами составит 43100 дней. А ввиду этого мы очень просто можем манипулировать датами, так же, как и числами, а это значительно делает проще нашу работу.
Количество дней между двумя датами в Excel
Это очень простой и понятный пример, в котором необходимо от последней даты отнять начальную дату, а полученное значение преобразовать в числовой формат. Как видите это можно произвести без помощи функций, но для получения рабочих дней нам это не подойдет.
Вычисление рабочих дней в Excel между двумя датами
Итак, поскольку количество календарных дней нам не подходит, а нужны дни работы, пользуемся для решения этой задачи функцией ЧИСТРАБДНИ.
Синтаксис этой функции достаточно прост и понятен:
= ЧИСТРАБДНИ(_нач_дата_; _кон_дата_; _[праздники]_), где:
- Начальная дата – является обязательным аргументом и указывается дата начала отсчёта;
- Конечная дата – также обязательный аргумент и указывает дату окончания периода расчётов;
- Праздники – не обязательный аргумент, являет собой список дат или ссылку на них, которые следует изъять из расчётов, например, государственные или религиозные праздники.
Простой пример:
У нас есть даты начала периода в диапазоне ячеек А2:А5 и даты конца периода – В2:В5. Используя нашу функцию, мы получаем нужный нам интервал в рабочих днях. Сложный пример:
Усложним нашу задачу добавив несколько праздничных дней в диапазоне Е2:Е5. Тогда наша формула пересчитает рабочие дни и отминусует праздники, попавшие в вычитаемый период. Диапазон с праздниками советую закрепить абсолютными ссылками, так как чтобы при копировании формулы она не выдавала ошибку и предоставляла правильный результат.
А на этом у меня всё! Я очень надеюсь, что всё вышеизложенное вам понятно. Буду очень благодарен за оставленные комментарии, так как это показатель читаемости и вдохновляет на написание новых статей! Делитесь с друзьями, прочитанным и ставьте лайк!
Источник: topexcel.ru
Считаем рабочие дни в Microsoft Excel
Функции подсчета рабочих дней, наверное, один из самых ценных подарков пользователям Excel от разработчиков. Вы представьте, сколько производственных задач можно спланировать с их помощью? Очень много! Только не все знают о существовании этих функций. Вот этот пробел мы сегодня и восполним.
Как определить дату через заданное количество рабочих дней
Стандартная задача: нам известна дата начала работ и отведенное на это количество рабочих дней. Нужно определить дату окончания работ. Как мы это сделаем? С помощью функции РАБДЕНЬ(Начальная дата;Количество дней;[Праздники]) . У этой функции три аргумента:
- Начальная дата – дата, от которой отсчитываем срок. Это обязательный аргумент
- Количество дней – сколько рабочих дней прибавить к начальной дате – обязательный аргумент
- Праздники – перечень праздничных дней, если они есть и их нужно учитывать. Это необязательный аргумент. Удобнее всего указывать его ссылкой на список праздников.
Вот пример использования этой функции:
Функция РАБДЕНЬ
Но что если у вас другой график выходных? Например, вы отдыхаете только в воскресенье? Используйте похожую функцию – РАБДЕНЬ.МЕЖД(Начальная дата;Количество дней; [Выходные];[Праздники]) . Здесь появился еще один необязательный параметр – Выходные. Он как раз и позволяет задать нужный график выходных. Когда вы вводите этот параметр, программа подсказывает что выбрать для правильной настройки выходных дней:
Функция РАБДЕНЬ.МЕЖД
В остальном, она работает так же, как и предыдущая.
Считаем сколько рабочих дней между датами
Вот еще сходная задача: посчитать сколько рабочих дней было между двумя датами. Функции такого подсчёта очень похожи на две предыдущие. Чтобы просто посчитать сколько рабочих дней в интервале дат, используем функцию ЧИСТРАБДНИ(Начальная дата;Конечная дата;[Праздники]) . Здесь три аргумента:
- Начальная дата периода – обязательный аргумент
- Конечная дата периода – обязательные аргумент
- Праздники – необязательный аргумент – учитывает праздничные дни, не совпадающие с выходными. Удобнее всего использовать ссылку на праздники
Вот как эта функция применяется:
Функция ЧИСТРАБДНИ
Выходными днями по умолчанию считаются суббота и воскресенье. Если вам нужно выбрать другие выходные – используйте функцию ЧИСТРАБДНИ.МЕЖД(Начальная дата;Конечная дата;[Выходные];[Праздники]) . При вводе аргумента «Выходные», программа выведет подсказку со списком параметров. Выберите и запишите подходящий:
Функция ЧИСТРАБДНИ.МЕЖД
Скажу вам, этих четырех простых функций хватает, чтобы эффективно считать рабочие дни. Комбинируйте их с другими функциями обработки дат, чтобы выжать из них максимум:
Следующим постом мы заканчиваем рассмотрение функций обработки дат и времени в Эксель. Совсем скоро вы будете гуру в работе с датами! Так что, ожидаем статью о преобразовании текста в дату и время!
Друзья, если у вас остались вопросы о функциях подсчета рабочих дней – пишите их в комментариях, обязательно отвечу.
Добавить комментарий Отменить ответ
17 комментариев
А как рассчитать дату, отстоящую на определённое количество рабочих дней, с учётом возможного переноса выходных из-за праздников? Т.е. для функции РАБДЕНЬ надо ввести список исключений из выходных. Функция РАБДЕНЬ.МЕЖД не удобна, т.к. надо вводить ещё и полный список выходных, помимо праздников.
Александр, если имеет место перенос, то количество рабочих дней не изменится, они лишь перераспределятся. Вопрос лишь в том, попадут ли все перенесенные дни в заданный Вами интервал. Например, функция вернет неверный результат, если в вычисленный интервал попадет перенесенный выходной, но не попадет день, на который его перенесли. Для решения задачи потребуется функция РАБДЕНЬ.МЕЖД. В ней не нужно перечислять все выходные. а лишь указать какие дни недели нужно считать выходными, программа отобразит подсказку при заполнении этого пункта. Далее нужно будет функциями сравнения проверить попадает ли результат вычисления в период переносов, и лишь если попадает — проверить вручную необходимость добавления/вычитания определенного количества дней.
Так в том-то и дело, что требуется рассчитать график подачи заявлений на несколько лет вперёд, отстоящих от предыдущих дат на год, два, пять. (там сложная схема), а заявления при этом должны подаваться за определённое количество рабочих дней до очередной даты. Я и использую функцию РАБДЕНЬ с коррекцией очередного графика путём ввода праздничных дней на будущий год (когда принимается постановление), но перенесённые выходные вносят неточность. Я и не знаю как учесть.
Да, но внутри периода количество выходных/рабочих изменяться не должно, т.к. это перенос. Сложность составляют лишь пограничные дни, которые затрагивают лишь часть переноса. Давайте попробуем разобрать Вашу задачу на конкретном примере. Пришлите несколько примеров расчетов, которые вызвали у Вас затруднения, используя форму обратной связи.
Я отправил через форму обратной связи задачу с описанием примера, но файл не вложить — пишет недопустимый тип файла. Ни Exel, ни Rar, ни Zip не пропускает!!
Добрый день! Как в формуле указать конечную дату расчета? К примеру есть формула =ДАТА(ГОД(C14);МЕСЯЦ(C14)+1;ДЕНЬ(20)), но мне нужно чтобы формула применялась только до определенной даты.Спасибо.
Оксана, нужно использовать функцию условия ЕСЛИ(Условие ; Значение если истина; Значение если ложь) . Если, например, у Вас в ячейке А1 хранится та самая предельная дата. Все что меньше должно вычисляться по Вашей формуле, что больше — возвращать пустое значение, тогда формула будет выглядеть так: =ЕСЛИ(ДАТА(ГОД(C14);МЕСЯЦ(C14)+1;ДЕНЬ(20))
Можно ли и как рассчитать дату начала, зная конечную дату и количество дней для выполнения задачи?
Евгений, конечно можно. Используйте функцию РАБДНИ, аргументом «начальная дата» будет Ваша конечная дата, а количество дней укажите отрицательным числом!
Подскажите пожалуйста как сделать функцию чтобы итог приписывался с словом день пример:(4дня,1день,15дней) и менялся в зависимости от количества дней
Сергей, когда можно упростить — рекомендую упрощать. Например, сократить до «дн». Тогда формула будет выглядеть так: =A1&» дн.». В данном случае предполагается, что в ячейке А1 находится Ваше число.
Добрый день! Подскажите пожалуйста как можно рассчитать например третий рабочий день. К примеру задаём дату — 01.02.2018. Мне нужно третий рабочий день. Функция рабдень считает через 3 раб дня это 6 февраля. А мне необходимо чтобы получалось на третий т.е. 5 февраля. Спасибо
Наталья, здравствуйте. Функция РАБДЕНЬ считает дату, которая будет через 3 рабочих дня, а не на третий день. Поэтому, в формуле вычтите единицу из даты, или в параметре «число дней» указывайте не 3, а 2. Второй вариант, видимо, сработает лучше.
Добрый день,
Подскажите, как высчитать количество рабочих дней для списка сотрудников, если какие-то сотрудники пришли после начала месяца, а какие-то уволились до его окончания.
Заранее спасибо!
Юлия, здравствуйте. Сделайте в списке сотрудников две колонки с датами приема на работу и увольнения. Используйте функцию ЧИСТРАБДНИ, она описана в этой статье и может принимать для расчетов произвольные даты, не обязательно первый или последний день месяца. Если не получится — напишите, будем разбираться.
Хорошая статья, но я так и не понял, как считать перенесённые праздники?
Есть две даты. Надо проверить, что бы вторая дата была не меньше 5 рабочих дней.
Использовал РАБДЕНЬ() и список дат-прадников.
Но как перенести… не понятно.
Есть формулы используя массивы, но такая формула по столбцу не копируется.
Может кто- решил проблему за такое большое время?
Здравствуйте. Стандартного решения от разработчиков пока нет. Я готовлю статью о способах решения этой задачи, вскоре она появится на блоге. Дополнительно сообщу вам на e-mail
Источник: officelegko.com
ЧИСТРАБДНИ (функция ЧИСТРАБДНИ)
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
В этой статье описаны синтаксис формулы и использование функции ЧИСТРАБДНИ в Microsoft Excel.
Описание
Возвращает количество рабочих дней между датами “нач_дата” и “кон_дата”. Праздники и выходные в это число не включаются. Функцию ЧИСТРАБДНИ можно использовать для вычисления заработной платы работника на основе количества дней, отработанных в указанный период.
Совет: Чтобы вычислить количество полных рабочих дней между двумя датами с использованием параметров, определяющих количество выходных в неделе и то, какие это дни, используйте функцию ЧИСТРАБДНИ.МЕЖД.
Синтаксис
Аргументы функции ЧИСТРАБДНИ описаны ниже.
Нач_дата Обязательный. Начальная дата.
Кон_дата Обязательный. Конечная дата.
Праздники Необязательный. Список из одной или нескольких дат, которые требуется исключить из рабочего календаря, например государственные праздники. Список может представлять собой диапазон ячеек, содержащих даты, или константу массива, содержащую числа, которые представляют даты.
Важно: Даты должны быть введены с использованием функции ДАТА или как результат вычисления других формул и функций. Например, для указания даты 23 мая 2012 г. воспользуйтесь выражением ДАТА(2012,5,23). Если ввести даты как текст, это может привести к возникновению проблем.
Замечания
В приложении Microsoft Excel даты хранятся в виде последовательных чисел, что позволяет использовать их в вычислениях. По умолчанию 1 января 1900 является порядковым числом 1, а 1 января 2012 — порядковым номером 40909, так как это 40 909 дней после 1 января 1900 г.
Если какой-либо из аргументов не является допустимой датой, ЧИСТРАБДНИ возвращает значение #VALUE! значение ошибки.
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Источник: support.office.com
Поиск ближайшего рабочего дня функцией РАБДЕНЬ (WORKDAY)
Простая, но весьма частая задача у многих пользователей Microsoft Excel.
Предположим, что нам необходимо рассчитать срок доставки товара, зная дату отправки и длительность. Поскольку Excel на самом деле хранит даты как числа (количество дней с 1 января 1900 года), то простое сложение легко даст нам предполагаемую конечную дату доставки:
Однако, как видно из предыдущей картинки, нет никакой гарантии, что полученный срок не попадет на выходные, когда доставка не производится. Тогда нужно взять ближайший рабочий день, т.е. следующий понедельник, но какой формулой это лучше сделать?
Первое, что обычно приходит в голову, это конструкция с вложенными проверками дней недели с помощью функций ЕСЛИ (IF) и ДЕНЬНЕД (WEEKDAY) . Что-то типа:
Т.е. если попали на субботу (ДЕНЬНЕД выдал 6 для даты доставки), то прибавляем еще 2 дня, чтобы сдвинуть на следующий понедельник. А если попали на воскресенье, то добавляем еще день. Не самая сложная формула.
На самом деле можно управиться существенно короче и изящнее 🙂
С 2007 года в Excel появилась функция РАБДЕНЬ (WORKDAY) , которая умеет сдвигать исходную дату на заданное количество рабочих дней, причем сдвиг может быть как положительным (в будущее), так и отрицательным (в прошлое). Фишка в том, что если взять предыдущий день от предполагаемой даты доставки и с помощью этой функции добавить к нему один рабочий день, то мы получим либо ту же самую дату (если были будни), либо ближайший понедельник (если доставка выпала на субботу или воскресенье). Что и требуется:
Приятным бонусом идет возможность указать список праздничных выходных дней, которые функция РАБДЕНЬ тоже будет воспринимать как нерабочие помимо суббот и воскресений. Диапазон с праздниками можно задать третьим аргументом:
Легко сообразить, что подобный подход можно использовать и для поиска ближайшего предыдущего, а не следующего рабочего дня.
Источник: www.planetaexcel.ru
Считаем будние и рабочие дни в Excel
Из этого урока вы узнаете, как получить день недели по дате в Excel и как подсчитать количество будних/рабочих дней между двумя датами.
Функция ДЕНЬНЕД
- Функция ДЕНЬНЕД (WEEKDAY) в Excel возвращает число от 1 (воскресенье) до 7 (суббота), представляющее номер дня недели. Судя по всему, 16 декабря 2013 в формуле ниже выпадает на понедельник.
Ещё для отображения дня недели можно использовать функцию ТЕКСТ (TEXT).
Создайте пользовательский формат даты (дддд), чтобы отобразить название дня недели.
Функция ЧИСТРАБДНИ
- Функция ЧИСТРАБДНИ (NETWORKDAYS) возвращает количество будних дней (исключая выходные) между двумя датами.
Если вы укажете список праздников, то функция ЧИСТРАБДНИ (NETWORKDAYS) вернёт количество рабочих дней (не считая выходных и праздничных дней) между двумя датами.
Календарь ниже поможет вам лучше понять функцию ЧИСТРАБДНИ (NETWORKDAYS).
Excel хранит даты в виде чисел и подсчитывает количество дней с 0 января 1900 года. Вместо того, чтобы подставлять диапазон ячеек в формулу, подставьте константы чисел, которые представляют эти даты. Чтобы это сделать, выделите E1:E2 в формуле ниже и нажмите F9.
Функция РАБДЕНЬ
- Функция РАБДЕНЬ (WORKDAY) почти противоположна функции ЧИСТРАБДНИ (NETWORKDAYS). Она возвращает дату до или после указанного количества будних дней (выходные исключены).
Примечание: Функция РАБДЕНЬ (WORKDAY) возвращает порядковый номер даты. Примените формат даты к ячейке для её отображения.
Календарь ниже поможет вам лучше понять функцию РАБДЕНЬ (WORKDAY).
Опять же, если вы подставите список праздников, функция РАБДЕНЬ (WORKDAY) вернёт дату до или после указанного количества рабочих дней (исключая выходные и праздничные дни).
Источник: office-guru.ru
Функция РАБДЕНЬ для расчета количества рабочих дней в Excel
Функция РАБДЕНЬ предназначена для определения даты начала или окончания какого-либо мероприятия относительно заданной начальной или конечной даты с учетом числа выходных и праздничных дней, и возвращает соответствующее значение в виде данных формата Дата.
Функция РАБДЕНЬ.МЕЖД предназначена для определения даты, равной сумме текущей даты и длительности мероприятия, и возвращает соответствующее числовое значение в коде времени Excel.
Примеры использования функций РАБДЕНЬ и РАБДЕНЬ.МЕЖД в Excel
Пример 1. Согласно расчетам, для выполнения проекта сотрудником фирмы потребуется 236 часов его беспрерывной работы. Дата начала проекта – 18.08.2018. Определить дату окончания работы над проектом. В ближайшие 30 дней праздников нет, выходные – суббота и воскресенье.
Вид исходной таблицы данных:
Для решения используем формулу:
- B5 – дата начал события (работы над проектом);
- B6/B8 – число рабочих дней, требуемых для реализации проекта, при условии, что рабочий день длится 8 ч.
Автоматически определилось число для сдачи реализованного проекта по ключ.
Как посчитать количество рабочих дней между датами
Чтобы посчитать количество рабочих или выходных дней между двумя датами в Excel следует использовать функцию ЧИСТРАБДНИ:
Как видите всего в невисокосном 2019-му 262 рабочих дней в году и 103 дня выходных (262+103=365).
Пример 2. Курс предмета в учебном заведении рассчитан на 46 занятий, которые проводятся в понедельник, среду и пятницу. Начало изучения предмета – 3.09.2018. Ближайшие праздники: 17.09.2018, 28.09.2018, 7.10.2018. Определить дату последнего занятия.
Вид исходной таблицы данных:
Формула для расчета:
Последнее занятие будет 24 декабря 2018 года.
Формула оптимального расчета количества рабочих дней между датами
Пример 3. Для выполнения работы в срок было предложено два варианта: увеличить часы в рабочих днях до 10 ч в день или ввести шестидневную рабочую неделю. Расчетная длительность выполнения работы – 127 ч. Выбрать оптимальный вариант, если дата начала проекта – 20.08.2018.
Вид таблицы данных:
Для решения используем следующую формулу:
РАБДЕНЬ.МЕЖД(B3;B2/C5;C6);”Вариант 2″;”Вариант 1″)’ >
Функция ЕСЛИ выполняет проверку значений, возвращаемых функциями РАБДЕНЬ.МЕЖДУ и возвращает соответствующий результат. Чем больше дата, тем больше времени потребуется на реализацию проекта.
То есть, чтобы быстрее выполнить работу, лучше увеличить длительность рабочего дня до 10 часов.
Особенности использования функций РАБДЕНЬ и РАБДЕНЬ.МЕЖД в Excel
Функция РАБДЕНЬ имеет следующий синтаксис:
=РАБДЕНЬ( нач_дата;количество_дней; [праздники])
- нач_дата – обязательный аргумент, характеризующий значения формата Дата, которое является точкой отсчета (началом какого-либо события).
- количество_дней – обязательный аргумент, принимающий данные числового типа, которые характеризуют число рабочих дней, прошедших после начала какого-либо события или предшествующих ему. Считается, что данное количество не содержит дни, которые являются праздниками или выходными днями. Для обратного отсчета относительно даты, указанной в качестве аргумента нач_дата, данный аргумент следует оказать в виде отрицательного числа.
- [праздники] – необязательный аргумент, принимающий данные формата Дата, указывающие одну или несколько дат, соответствующих праздничным дням. В качестве данного аргумента может быть передан массив ячеек.
Функция РАБДЕНЬ.МЕЖД имеет следующий синтаксис:
=РАБДЕНЬ.МЕЖД( нач_дата;количество_дней; [выходной];[праздники])
- нач_дата – обязательный аргумент, характеризующий дату начала какого-либо события в виде данных формата Дата;
- количество_дней – обязательный аргумент в виде данных числового типа, характеризующих число дней, которые предшествуют началу какого-либо события (отрицательное число) либо обозначают какую-либо будущую дату (положительное число);
- [праздники] – необязательный аргумент, принимающий одно или несколько значений формата Дата, указывающих даты праздничных дней;
- [выходной] – необязательный аргумент в виде строки из 7 последовательно записанных значений из диапазона от 0 до 1, характеризующей количество выходных дней и их позицию по дням недели, или числового значения из диапазона от 1 до 17. Примеры некоторых вариантов записи данного аргумента:
- 1 (или явно не указан) – выходными днями являются суббота и воскресенье.
- 2 – воскресенье и понедельник.
- 3 – понедельник и вторник (и т. д).
- 11 – только понедельник.
- 12 – только вторник (и т. д.).
- «0000011» – суббота и воскресенье».
- «1000001» – воскресенье и понедельник (и т. д.).
- При использовании обеих рассматриваемых функций необходимо иметь ввиду, что Excel поддерживает даты начиная от 1 января 1900 г. до 31 декабря 9999 г. Если аргумент нач_дата или дата любого праздничного дня представлены в виде даты, не принадлежащей к диапазону допустимых значений, обе функции вернут код ошибки #ЧИСЛО!.
- Если в результате сложения даты, представленной первым аргументом любой из рассматриваемых функций, а также количества дней, заданных вторым аргументом функции, с учетом определенного количества праздничных и выходных дней будет получено значение, находящееся вне диапазона допустимых значений дат, будет возвращен код ошибки #ЧИСЛО!.
- Если аргумент количество_дней представлен в виде дробного числа, дробная часть будет автоматически усечена.
- Функция РАБДЕНЬ.МЕЖД возвращает код ошибки #ЧИСЛО!, если в качестве аргумента [выходной] было передано число не из диапазона допустимых значений или строка, содержащая недопустимые символы, только единицы («1111111») или состоящая из менее чем семи символов.
- При вводе дат в качестве аргументов рассматриваемых функций рекомендуется использовать не текстовые представления дат (например, «10.02.2018»), а функции, возвращающие данные в формате даты (например, ДАТА(18;02;10)).
Примечание: в отличие от функции РАБДЕНЬ, предусматривающей возможность указывать лишь даты праздничных дней, функция РАБДЕНЬ.МЕЖДУ позволяет определять число выходных в неделю и указывать, какими днями в неделе являются выходные (например, вместо привычных субботы и воскресенья можно указать вторник и среда).
Источник: exceltable.com