Функция РАБДЕНЬ() в EXCEL

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

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

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

РАБДЕНЬ – это встроенная функция в 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

Сейчас мы создадим автоматический календарь который пригодится не только на текущий год, но и на все последующие года. И для этого нам не понадобятся макросы и программирование. Все что я покажу – сделано с использованием стандартных возможностей 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

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все об Экселе: формулы, полезные советы и решения