Праздничные дни для excel

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

  • в бухгалтерских расчетах (зарплата, стаж, отпуска…)
  • в логистике — для корректного определения сроков доставки с учётом выходных и праздников (помните классическое «давай уже после праздников?»)
  • в управлении проектами — для правильной оценки сроков с учётом, опять же, рабочих-нерабочих дней
  • при любом использовании функций типа РАБДЕНЬ (WORKDAY) или ЧИСТРАБДНИ (NETWORKDAYS), т.к. они требуют в качестве аргумента список праздников
  • при использовании функций Time Intelligence (типа TOTALYTD, TOTALMTD, SAMEPERIODLASTYEAR и т.д.) в Power Pivot и Power BI
  • … и т.д. и т.п. — примеров масса.

Тем, кто работает в корпоративных ERP-системах типа 1С или SAP — проще, в них производственный календарь встроен. Но что делать пользователям Excel?

Можно, конечно, вести такой календарь вручную. Но тогда придется как минимум раз в год (а то и чаще, как в «весёлом» 2020 году) его актуализировать, аккуратно внося туда все выходные, переносы и нерабочие дни, придуманные нашим правительством. А потом повторять эту процедуру каждый следующий год. Скукота.

А как насчёт чуть напрячься и сделать «вечный» производственный календарь в Excel? Такой, чтобы сам обновлялся, брал данные из интернета и формировал всегда актуальный список нерабочих дней для последующего использования в любых расчетах? Заманчиво?

Сделать такое, на самом деле, совсем не сложно.

Источник данных

Главный вопрос — а где брать данные? В поисках подходящего источника я перебрал несколько вариантов:

  • Оригинальные указы публикуются на сайте правительства в формате PDF (вот, один из них, например) и отпадают сразу — полезную информацию из них не вытащить.
  • Заманчивым вариантом, на первый взгляд, казался «Портал открытых данных РФ», где есть соответствующий набор данных, но, при ближайшем изучении всё оказалось печально. Для импорта в Excel сайт жутко неудобен, техподдержка не отвечает (самоизолировались?), да и сами данные там давно устарели — производственный календарь на 2020 год обновлялся последний раз в ноябре 2019 (позорище!) и, само-собой, не содержит наших «коронавирусных» и «голосовательных» выходных 2020 года, например.

Разочаровавшись в официальных источниках, я стал рыть неофициальные. Их в интернете множество, но большинство из них, опять же, совершенно неприспособлены для импорта в Excel и выдают производственный календарь в виде красивых картинок. Но нам-то с вами не на стенку его вешать, правильно?

И вот в процессе поисков случайно обнаружилось прекрасное — сайт http://xmlcalendar.ru/

Сайт xmlcalendar.ru

Без лишних «рюшечек», простой, легкий и быстрый сайт, заточенный под одну задачу — отдавать всем желающим производственный календарь за нужный год в XML-формате. Отлично!

Если, вдруг, вы не в курсе, то XML — это текстовый формат с разметкой содержимого специальными <тегами>. Легкий, удобный и читаемый большинством современных программ, включая Excel.

Я, на всякий случай, связался с авторами сайта и они подтвердили, что сайт существует уже 7 лет, данные на нем постоянно актуализируются (у них для этого даже ветка на github есть) и закрывать его они не собираются. И совершенно не против, чтобы мы с вами с него грузили данные для любых наших проектов и расчётов в Excel. Бесплатно. Как же приятно, что есть еще такие люди! Респектище!

Осталось загрузить эти данные в Excel с помощью надстройки Power Query (для версий Excel 2010-2013 её можно бесплатно скачать с сайта Microsoft, а в версиях Excel 2016 и новее — она уже встроена по умолчанию).

Логика действий будет такая:

  1. Делаем запрос для загрузки данных с сайта за один любой год
  2. Превращаем наш запрос в функцию
  3. Применяем эту функцию к списку всех имеющихся лет, начиная с 2013 и до текущего года — и получаем «вечный» производственный календарь с автоматическим обновлением. Вуаля!

Шаг 1. Импортируем календарь за один год

Сначала загрузим производственный календарь за один любой год, например, за 2020. Для этого в Excel идём на вкладку Данные (или Power Query, если вы установили её как отдельную надстройку) и выбираем Из интернета (From Web). В открывшееся окно вставляем ссылку на соответствующий год, скопированную с сайта:

Грузим данные с сайта через Power Query

После нажатия на ОК появляется окно предварительного просмотра, в котором нужно нажать кнопку Преобразовать данные (Transform data) или Изменить данные (Edit data) и мы попадем в окно редактора запросов Power Query, где и продолжим работу с данными:

Окно Power Query

Сразу же можно смело удалить в правой панели Параметры запроса (Query settings) шаг Измененный тип (Changed Type) — он нам не нужен.

Таблица в столбце holidays содержит коды и описания нерабочих дней — увидеть её содержимое можно, дважды «провалившись» в неё щелчком мыши по зелёному слову Table:

Проваливаемся в таблицу праздников

Для возврата назад придется удалить в правой панели все появившиеся шаги обратно до Источника (Source).

Вторая таблица, куда можно зайти аналогичным образом, содержит как раз то, что нам нужно — даты всех нерабочих дней:

Таблица выходных

Останется эту табличку обработать, а именно:

1. Отфильтровать только даты праздников (т.е. единички) по второму столбцу Attribute:t

Удаляем лишние столбцы

2. Удалить все столбцы, кроме первого — щелчком правой кнопкой мыши по заголовку первого столбца и выбором команды Удалить другие столбцы (Remove Other Columns):

Удаляем лишние столбцы

3. Разделить первый столбец по точке отдельно на месяц и день с помощью команды Разделить столбец — По разделителю на вкладке Преобразование (Transform — Split column — By delimiter):

Делим по точке на месяц и день

4. И, наконец, создать вычисляемый столбец с нормальными датами. Для этого на вкладке Добавление столбца жмём на кнопку Настраиваемый столбец (Add Column — Custom Column) и вводим в появившееся окно следующую формулу:

Создаем столбец с датами

=#date(2020, [#»Attribute:d.1″], [#»Attribute:d.2″])

Здесь у оператора #date три аргумента: год, месяц и день, соответственно. После нажатия на ОК получаем требуемый столбец с нормальными датами выходных, а остальные столбцы удаляем как в п.2

Готовый список нерабочих дней

Шаг 2. Превращаем запрос в функцию

Следующая наша задача — преобразовать созданный на 2020 год запрос в универсальную функцию для любого года (номер года будет её аргументом). Для этого делаем следующее:

1. Разворачиваем (если ещё не развернута) панель Запросы (Queries) слева в окне Power Query:

Панель запросов

2. После преобразования запроса в функцию возможность видеть шаги, из которых состоит запрос и легко их редактировать, к сожалению, пропадает. Поэтому имеет смысл сделать копию нашего запроса и резвиться уже с ней, а оригинал оставить про запас. Для этого щелкаем правой кнопкой мыши в левой панели по нашему запросу calendar и выбираем команду Дублировать (Duplicate).

Щелкнув еще раз правой по получившейся копии calendar(2) выберем команду Переименовать (Rename) и введём новое имя — пусть будет, например, fxYear:

Копируем исходный запрос

3. Открываем исходный код запроса на внутреннем языке Power Query (он лаконично назвается «М») с помощью команды Расширенный редактор на вкладке Просмотр (View — Advanced Editor) и вносим туда небольшие правки для превращения нашего запроса в функцию на любой год.

Было:

Было

Стало:

Стало

Если интересны подробности, то здесь:

  • (year as number)=>  — объявляем, что в нашей функции будет один числовой аргумент — переменная year
  • Подклеиваем переменную year в веб-ссылку на шаге Источник. Поскольку Power Query не позволяет склеивать числа и текст, то на лету преобразовываем номер года в текст с помощью функции Number.ToText
  • Подставляем переменную year вместо 2020 года на предпоследнем шаге #»Добавлен пользовательский объект«, где мы формировали дату из фрагментов.

После нажатия на Готово наш запрос превращается в функцию:

Запрос превратился в функцию

Шаг 3. Импортируем календари за все года

Осталась самая малость — сделать последний главный запрос, который будет закачивать данные за все имеющиеся года и складывать все полученные даты праздников в одну таблицу. Для этого:

1. Щёлкаем в левой панели запросов в серое пустое место правой кнопкой мыши и выбираем последовательно Новый запрос — Другие источники — Пустой запрос (New Query — From other sources — Blank query):

Создаем пустой запрос

2. Нам нужно сформировать список всех лет, для которых мы будем запрашивать календари, т.е. 2013, 2014 … 2020. Для этого в строке формул появившегося пустого запроса вводим команду:

Формируем список лет

Конструкция:

={ЧислоА..ЧислоБ}

… в Power Query формирует список целых чисел от А до Б. Например, выражение

={1..5}

…выдало бы список 1,2,3,4,5.

Ну, а чтобы не привязываться жёстко к 2020 году, мы используем функцию DateTime.LocalNow() — аналог экселевской функции СЕГОДНЯ (TODAY) в Power Query — и извлекаем из неё, в свою очередь, текущий год функцией Date.Year.

3. Полученный набор лет хоть и выглядит вполне адекватно, но для Power Query представляет собой не таблицу, а особый объект — список (List). Но преобразовать его в таблицу — не проблема: достаточно нажать кнопку В таблицу (To Table) в левом верхнем углу:

Преобразуем список в таблицу

4. Финишная прямая! Применяем созданную нами ранее функцию fxYear к полученному списку лет. Для этого на вкладке Добавление столбца жмём кнопку Вызвать настраиваемую функцию (Add Column — Invoke Custom Function) и задаём её единственный аргумент — колонку Column1 с годами:

Вызываем функцию fxYear

После нажатия на ОК наша функция fxYear по очереди отработает импорт для каждого года и мы получим столбец, где в каждой ячейке будет содержаться таблица с датами нерабочих дней (содержимое таблицы хорошо видно, если щёлкнуть мышью в фон ячейки рядом со словом Table):

Вложенные таблицы с данными по каждому году

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

Разворачиваем вложенные таблицы

… и после нажатия на ОК мы получим то, что хотели — список всех праздников с 2013 и до текущего года:

Все загруженные даты праздников за все годы

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

Задаем тип данных даты

Сам запрос можно переименовать как-нибудь более осмысленно, чем Запрос1 и выгрузить затем результаты на лист в виде динамической «умной» таблицы с помощью команды Закрыть и загрузить на вкладке Главная (Home — Close & Load):

Готовый производственный календарь в Excel

Обновлять созданный календарь в будущем можно щелчком правой кнопки мыши по таблице или запросу в правой панели через команду Обновить. Или же использовать кнопку Обновить все на вкладке Данные (Date — Refresh All) или сочетание клавиш Ctrl+Alt+F5.

Вот и всё.

Теперь вам больше никогда не нужно тратить время и мыслетопливо на поиски и актуализацию списка праздничных дней — теперь у вас есть «вечный» производственный календарь. Во всяком случае, до тех пор, пока авторы сайта http://xmlcalendar.ru/ поддерживают своё детище, что, я надеюсь, будет ещё очень и очень долго (спасибо им еще раз!).

Ссылки по теме

  • Импорт курса биткойна в Excel из интернета через Power Query
  • Поиск ближайшего рабочего дня функцией РАБДЕНЬ (WORKDAY)
  • Поиск пересечения интервалов дат

Содержание

  1. Функция РАБДЕНЬ.
  2. Синтаксис
  3. Аргументы функции
  4. Что возвращает функция
  5. Как добавить или вычесть рабочие дни.
  6. Настраиваем свой график выходных дней.
  7. Количество дней между двумя датами в Excel
  8. Функция РАБДЕНЬ
  9. Складывать и вычитать календарные дни
  10. Как выглядит формат ячейки в Excel
  11. Сделать ячейку, в которой всегда стоит текущая дата
  12. В ячейке содержится Дата
  13. В ячейке с пользовательским форматом ДДД или ДДДД содержится Дата
  14. В ячейке содержится Число
  15. Пошаговая инструкция создания календаря в Excel
  16. Делаем заголовки
  17. Проставляем числа
  18. Добавляем условного форматирования
  19. Автоматически выделяем текущую дату в календаре
  20. Подготовка ячеек для работы с датами
  21. Подсчет количества дней с помощью простой формулы
  22. Второй способ: определение часов через временной промежуток

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

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

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

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

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

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

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

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

Синтаксис

=WORKDAY(start_date, days, [holidays]) – английская версия

=РАБДЕНЬ(нач_дата;количество_дней;[праздники]) – русская версия

Аргументы функции

  • start_date (нач_дата) – дата, которую мы берем за точку отсчета;
  • days (количество_дней) – общее количество рабочих дней, не включая выходные. Вы можете использовать как положительные, так и отрицательные числа в аргументе;
  • [holidays] ([праздники])– (не обязательно) Это диапазон дат, который необходимо исключить из расчетов. Например, это могут быть какие-либо национальные праздники. Также, это может быть ссылка на диапазон ячеек, который содержит даты, или может быть массивом порядковых номеров, которые содержат даты.

Что возвращает функция

Дату, наступающую по прошествии заданного количества рабочих дней.

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

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

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

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

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

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

=РАБДЕНЬ($A$10;90;$A$2:$A$7)

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

=РАБДЕНЬ($A$10;-90;$A$2:$A$7)

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

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

=РАБДЕНЬ(СЕГОДНЯ();90;$A$2:$A$7)

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

=РАБДЕНЬ(СЕГОДНЯ();-90)

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

=РАБДЕНЬ(ДАТА(2020;1;7);90;$A$2:$A$7)

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

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

=РАБДЕНЬ($A$10;С1;$A$2:$A$7)

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

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

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

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

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

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

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

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

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

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

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

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

Число

Выходные дни

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

Суббота Воскресенье

2

Воскресенье понедельник

3

Понедельник вторник

4

Вторник Среда

5

Среда Четверг

6

Четверг Пятница

7

Пятница Суббота

11

Только воскресенье

12

Только понедельник

13

Только вторник

14

Только среда

15

Только четверг

16

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

17

Только суббота

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

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

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

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

=РАБДЕНЬ.МЕЖД($A$10;90;”1000001″;$A$2:$A$7)

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

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

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

Количество дней между двумя датами в Excel

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

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

  1. Функция РАБДЕНЬ (WORKDAY) почти противоположна функции ЧИСТРАБДНИ (NETWORKDAYS). Она возвращает дату до или после указанного количества будних дней (выходные исключены).

    =WORKDAY(A1,B1)
    =РАБДЕНЬ(A1;B1)

Примечание: Функция РАБДЕНЬ (WORKDAY) возвращает порядковый номер даты. Примените формат даты к ячейке для её отображения.

Календарь ниже поможет вам лучше понять функцию РАБДЕНЬ (WORKDAY).

Опять же, если вы подставите список праздников, функция РАБДЕНЬ (WORKDAY) вернёт дату до или после указанного количества рабочих дней (исключая выходные и праздничные дни).

Складывать и вычитать календарные дни

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

Например, вам необходимо создать резерв по сомнительным долгам в налоговом учете. В том числе нужно просчитать, когда у покупателя возникнет задолженность со сроком 45 дней после дня реализации. Для этого в одну ячейку внесите дату отгрузки. К примеру, это ячейка D2. Тогда формула будет выглядеть так: =D2+45. Вычитаются дни по аналогичному принципу. Главное, чтобы ячейка с датой, к которой будете прибавлять число, имела правильный формат. Чтобы это проверить, нажмите правой кнопкой мыши на ячейку, выберите «Формат ячеек» и удостоверьтесь, что установлен формат «Дата».

Как выглядит формат ячейки в Excel

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

К примеру, необходимо посчитать, сколько календарных дней пройдет с 05.11.2019 по 31.12.2019. Для этого введите эти даты в разные ячейки, а в отдельной ячейке поставьте знак «=». Затем вычтите из декабрьской даты ноябрьскую. Получится 56 дней. Помните, что в этом случае в подсчет войдет последний день, но не войдет первый. Если вам необходимо, чтобы итог включал оба дня, прибавьте к формуле единицу. Если же, наоборот, нужно посчитать количество дней без учета обеих дат, то единицу необходимо вычесть.

Сделать ячейку, в которой всегда стоит текущая дата

Введите в ячейку функцию СЕГОДНЯ, и в ней всегда будет актуальная дата. Чтобы функция работала исправно, учтите два условия. Во-первых, проверьте, верно ли стоит дата у вас на компьютере. Программа будет учитывать именно ее. Во-вторых, укажите в настройках Excel, чтобы формулы пересчитывались автоматически. Для этого в левом верхнем углу открытого листа Excel нажмите «Файл». В открывшемся меню выберите «Параметры», затем вкладку «Формулы» и проверьте, чтобы в колонке «Вычисления в книге» был выбран параметр «Автоматически».

В ячейке содержится Дата

В столбце А содержатся значения в формате дата, например в ячейке А6 – 13.08.2012.

Чтобы настроить правило Условного форматирования нужно:

  • выделить диапазон А6:А14
  • выбрать пункт меню
  • выбрать тип правила Использовать формулу для определения форматируемых ячеек
  • в поле Форматировать значения, для которых следующая формула является истинной ввести формулу =ДЕНЬНЕД(A6;2)>5
  • задать формат, например красную заливку фона ячейки.

Даты в столбце А , у которых номер дня недели >5, будут выделены красным.

В ячейке с пользовательским форматом ДДД или ДДДД содержится Дата

Пусть в столбцах B и С также содержатся значения в формате дата, например в ячейке B6 введем формулу =A6 .

Для ячеек в диапазоне B6:B14 настроим пользовательский формат ДДД (для диапазона С6:С14 ДДДД).

Не смотря на то, что теперь в ячейках отображаются Пн и Понедельник, значения в ячейках продолжают оставаться в формате Дата. В этом можно убедиться скопировав значение ( CTRL+V ), например, из ячейки С6 , и вставив его Как значение ( ). В Строке формул будет отображаться значение 13.08.2012, а не слово понедельник . Поэтому настраивать правило Условного форматирования нужно так как показано в предыдущем разделе.

В ячейке содержится Число

Пусть в столбце D содержится номер дня недели, например в ячейке D6 введем формулу =ДЕНЬНЕД(A6;2) .

В этом случае правило Условного форматирования настраивается аналогично случаю когда в ячейке содержится Дата, только несколько упрощается формула =$D6>5

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

Делаем заголовки

В ячейку A1 вбиваем следующую формулу: =”Календарь на ” & ГОД(СЕГОДНЯ()) & ” год”. Функция СЕГОДНЯ() возвращает текущую дату (мы часто будем ей пользоваться). Соответственно связка функций ГОД(СЕГОДНЯ()) возвратит нам текущий год.

Теперь создадим заголовки месяцев. В ячейку где стоит Январь запишем следующую формулу =ДАТА(ГОД(СЕГОДНЯ());1;1). Эта функция возвращает первое января текущего года (01.01.2015 в моем случае). Применим к этой ячейке такой формат, чтобы отображалось только название месяца. Для этого откроем формат ячеек сочетанием клавиш Ctrl + 1 и выберем соответствующий формат (см. рисунок).

Для создания заголовков последующих месяцев будем использовать еще одну очень полезную функцию =ДАТАМЕС(B3;1). Эта функция возвращает дату отстоящую от указанной на заданное число месяцев (в нашем случае на один). Таким образом, у нас получается следующая картина (дополнительно я добавил немного форматирования):

Проставляем числа

Для автоматического проставления чисел в календаре мы будем использовать всего одну формулу – формулу массива. На вид звучит страшновато, но если разобраться – все легко и просто. Выделяем ячейки B5:H10 и вводим следующую формулу (не спешим жать Enter):
=ДАТА(ГОД(B3);МЕСЯЦ(B3);1-1)-(ДЕНЬНЕД(ДАТА(ГОД(B3);МЕСЯЦ(B3);1-1))-1)+{0:1:2:3:4:5:6}*7+{1;2;3;4;5;6;7}

Вместо Enter нажимаем сочетание клавиш Ctrl+Shift+Enter, вставляя таким образом формула массива. В результате в выделенном диапазоне получаем числа указанного в ячейке B3 месяца.

Аналогичную операцию проводим с другими месяцами или просто копируем диапазон дат января в следующие месяца. Получаем следующую картину:

Добавляем условного форматирования

Сейчас в январе календарь содержит даты 29, 30, 31 декабря, а также часть дат февраля. Давайте немного скроем эти числа. Для этого будем использовать условное форматирование. Выделяем ячейки B5:H10 и создаем правило условного форматирования. Форматироваться будут ячейки, для которых следующая формула будет являться ИСТИНОЙ:
=И(МЕСЯЦ(B5)<>1+3*(ЧАСТНОЕ(СТРОКА(B5)-5;9))+ЧАСТНОЕ(СТОЛБЕЦ(B5);9))

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

Автоматически выделяем текущую дату в календаре

Для этого создаем еще одно правило условного форматирования. Ячейка будет форматироваться только в том случае, если ее значение будет равно текущей дате (=СЕГОДНЯ()):

Подготовка ячеек для работы с датами

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

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

После этого откроется окно, в котором нужно выбрать формат «Дата», тип формата, который будет использоваться, и нажать на кнопку «ОК».

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

Подсчет количества дней с помощью простой формулы

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

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

После присвоения формата «Общий», в эту ячейку нужно ввести формулу, которая будет отнимать более раннюю дату от более поздней. Подобная формула вводится очень просто. Выделяем ячейку, в которой должен находится результат, вводим символ «=», потом адрес ячейки с более поздней датой, потом символ «-» и адрес ячейки с более ранней датой.

После ввода формулы нужно нажать на клавишу Enter, и вы получите результат.

Как видим, в данном случае количество дней между двумя датами составляет 41.

Второй способ: определение часов через временной промежуток

Предположим, нам дано время 11 часов 45 минут, требуется узнать, сколько будет по истечении 2 часов 15 минут. Будем действовать по инструкции, чтобы получить результат.

  1. Отформатируем лист, если в нем проводились предыдущие расчеты, выбираем пустое поле и вписываем в двух соседних ячейках наши часы. Затем кликаем на пустую ячейку рядом. В ней будут выполняться все расчеты.

  1. Активируем пустую ячейку, переходим в строку формул, где устанавливаем знак «=» без кавычек. Нажимаем на ячейку с показателем часов на данный момент, ставим знак «+», добавляем соседнюю ячейку. Нажимаем кнопку «Enter». В итоге получится время, которое будет после определенного промежутка (в нашем случае по истечении 2 часов 15 минут).

Важно!

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

Источники

  • https://mister-office.ru/formuly-excel/workday-networkdays-functions.html
  • https://excelhack.ru/funkciya-workday-rabden-v-excel/
  • http://topexcel.ru/kak-vychislit-rabochie-dni-v-excel/
  • https://office-guru.ru/excel/funkcija-denned-v-excel-379.html
  • https://zen.yandex.ru/media/id/593a7db8d7d0a6439bc26099/5e254f062b61697618a72b0c
  • https://excel2.ru/articles/vydelyaem-dni-nedeli-cvetom-v-ms-excel
  • https://micro-solution.ru/excel/various/calendar
  • https://comp-security.net/%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE-%D0%B4%D0%BD%D0%B5%D0%B9-%D0%BC%D0%B5%D0%B6%D0%B4%D1%83-%D0%B4%D0%B2%D1%83%D0%BC%D1%8F-%D0%B4%D0%B0%D1%82%D0%B0%D0%BC%D0%B8-%D0%B2-excel/
  • https://studwork.org/spravochnik/informatika/excel/kak-vychislit-vremya-v-excel

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 мая 2008 г. воспользуйтесь выражением ДАТА(2008,5,23). Если ввести даты как текст, это может привести к возникновению проблем.

Замечания

  • В приложении Microsoft Excel даты хранятся в виде последовательных чисел, что позволяет использовать их в вычислениях. По умолчанию дате 1 января 1900 года соответствует номер 1, а 1 января 2008 года — 39448, так как интервал между этими датами составляет 39 448 дней.

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

  • Если start_date плюс дн. возвращает недействительные даты, то workDAY возвращает #NUM! значение ошибки #ЗНАЧ!.

  • Если значение аргумента «количество_дней» не является целым числом, оно усекается.

Пример

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

Данные

01.10.2008

Начальная дата

151

Осталось дней

26.11.2008

Праздник

04.12.2008

Праздник

21.01.2009

Праздник

Формула

Описание (результат)

Результат

=РАБДЕНЬ(A2;A3)

Отсчитывает 151 рабочий день с начальной даты (30.04.09)

30.04.2009

=РАБДЕНЬ(A2;A3;A4:A6)

Отсчитывает 151 рабочий день с начальной даты, исключая праздники (05.05.09)

05.05.2009

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

Skip to content

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

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

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

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

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

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

  1. Функция РАБДЕНЬ.
  2. Как добавить или вычесть рабочие дни.
    • Настраиваем свой график выходных дней.
  3. Как рассчитать, сколько рабочих дней между двумя датами?
    • А если у нас свой особенный график труда и отдыха?
  4. Как определить ближайший рабочий день?
  5. Возможные ошибки при расчетах.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

=РАБДЕНЬ($A$10;90;$A$2:$A$7)

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

=РАБДЕНЬ($A$10;-90;$A$2:$A$7)

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

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

=РАБДЕНЬ(СЕГОДНЯ();90;$A$2:$A$7)

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

=РАБДЕНЬ(СЕГОДНЯ();-90)

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

=РАБДЕНЬ(ДАТА(2020;1;7);90;$A$2:$A$7)

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

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

=РАБДЕНЬ($A$10;С1;$A$2:$A$7)

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

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

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

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

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

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

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

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

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

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

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

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

Число

Выходные дни

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

Суббота Воскресенье

2

Воскресенье понедельник

3

Понедельник вторник

4

Вторник Среда

5

Среда Четверг

6

Четверг Пятница

7

Пятница Суббота

11

Только воскресенье

12

Только понедельник

13

Только вторник

14

Только среда

15

Только четверг

16

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

17

Только суббота

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

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

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

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

=РАБДЕНЬ.МЕЖД($A$10;90;»1000001″;$A$2:$A$7)

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

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

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

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

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

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

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

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

=ЧИСТРАБДНИ(A10;B10)

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

=ЧИСТРАБДНИ(A10;B10;A2:A7)

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

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

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

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

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

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

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

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

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

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

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

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

Число

Выходные дни

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

Суббота Воскресенье

2

Воскресенье понедельник

3

Понедельник вторник

4

Вторник Среда

5

Среда Четверг

6

Четверг Пятница

7

Пятница Суббота

11

Только воскресенье

12

Только понедельник

13

Только вторник

14

Только среда

15

Только четверг

16

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

17

Только суббота

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

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

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

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

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

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

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

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

=ЧИСТРАБДНИ.МЕЖД(A11;B11;»1100000″;$A$2:$A$7) 

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

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

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

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

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

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

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

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

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

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

=РАБДЕНЬ(A2-1;1)

или

=ЕСЛИ(ДЕНЬНЕД(A3;2)>5;A3+(8-ДЕНЬНЕД(A3;2));A3)

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

=ЕСЛИ(ДЕНЬНЕД(A4;2)>5;МИН(A4-(ДЕНЬНЕД(A4;2)-5);A4);A4)

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

=ЕСЛИ(ДЕНЬНЕД(A6;2)>6;A6+(8-ДЕНЬНЕД(A6;2));МИН(A6-(ДЕНЬНЕД(A6;2)-5);A6))

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

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

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

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

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

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

Как перевести время в число В статье рассмотрены различные способы преобразования времени в десятичное число в Excel. Вы найдете множество формул для преобразования времени в часы, минуты или секунды. Поскольку Microsoft Excel использует числовую систему для работы с временем, вы можете…
Формат времени в Excel Вы узнаете об особенностях формата времени Excel, как записать его в часах, минутах или секундах, как перевести в число или текст, а также о том, как добавить время с помощью…
Как вывести месяц из даты На примерах мы покажем, как получить месяц из даты в таблицах Excel, преобразовать число в его название и наоборот, а также многое другое. Думаю, вы уже знаете, что дата в…
Как быстро вставить сегодняшнюю дату в Excel? Это руководство показывает различные способы ввода дат в Excel. Узнайте, как вставить сегодняшнюю дату и время в виде статической метки времени или динамических значений, как автоматически заполнять столбец или строку…

Очень часто во время создания в Excel отчетов необходимо воспользоваться графиком рабочих дней без выходных и праздничных. Таблица такого типа буде полезна для вычисления товарооборота за 1 рабочий день, денежный оборот по будням и т.д.

Как составить график рабочих дней в Excel?

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

Построение графика начнем от указания даты последнего рабочего дня прошлого года. Рядом составим список только праздничных (без выходных), которые являются нерабочими днями на вашей фирме для текущего года. Все значения должны иметь формат ячеек «Дата». Пример начала создания графика рабочих дней показан ниже на рисунке:

Шаблон графика.

В ячейке A3 введите первую формулу, которая ссылается на ячейку B1 с датой последнего рабочего дня предыдущего года:

=РАБДЕНЬ.МЕЖД(B1;1;1;$B$3:$B$16)

РАБДЕНЬ.МЕЖД.

А в ячейку A4 введите вторую формулу для последующего копирования в остальные ячейки:

=РАБДЕНЬ.МЕЖД(A3;1;1;$B$3:$B$16)

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

график рабочих дней.

В результате получился персональный производственный календарь на 2019-й год для конкретной фирмы.

Функция РАБДЕНЬ.МЕЖД возвращает дату рабочего дня вычисленную на основе количества дней, на которое должна быть увеличенная задана дата. У функции имеется 2 обязательных аргумента и 2 опциональных:

=РАБДЕНЬ.МЕЖД(нач_дата;число_дней;выходные;праздники)

  1. Нач_дата: с какой даты следует начать выполнять вычисление.
  2. Число_дней: количество в днях, которое будет вычисляться от начальной даты.
  3. Выходные: по умолчанию если данный опциональный аргумент не заполнен, то функция считает за выходные дни недели субботу и воскресенье. Однако данный аргумент позволяет определить какие именно дни недели считать за выходные. Во время ввода функции вручную в строку формул или в ячейку Excel высверливается интерактивная подсказка с помощью, которой можно выбрать одну из 15-ти доступных вариаций для выходных. Или просто указать в третьем аргументе код вариации, то есть число от 1-го и до 15-ти. Изменение графика рабочего дня в Excel:
  4. Изменение графика.

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



Как устроен график рабочих дней в Excel?

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

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

Понравилась статья? Поделить с друзьями:
  • Прайс лист на строительные материалы excel
  • Правый символ excel до символа
  • Прайс лист на продукты питания скачать excel
  • Правый клик не работает в excel
  • Прайс лист на запчасти excel