Примеры использования функций ДЕНЬ с ДЕНЬНЕД И ДНИ В Excel
Функция ДЕНЬ возвращает день, который соответствует определенной дате. Результатом работы функции является число из диапазона от 1 до31.
Функция ДЕНЬНЕД возвращает день недели, который соответствует определенной дате. Результат работы данной функции – это число из диапазона от 1 до 7 (единица соответствует воскресенью, а семь – субботе).
Функция ДНИ возвращает числовое значение, характеризующее разницу дней между двумя заданными датами.
Особенности синтаксической записи функции ДЕНЬ, ДЕНЬНЕД и ДНИ в Excel
Функция ДЕНЬ имеет следующий синтаксис:
=ДЕНЬ(дата)
Принимает на вход единственный параметр дата, который соответствует дате, день которой требуется определить.
Примечания:
- В качестве входного параметра обычно используется ячейка из таблицы Excel, содержащая данные в формате дата.
- Также на вход принимаются результаты вычислений функции ДАТА и прочих функций, возвращающих значения в формате Дата.
- При непосредственном вводе данных между скобками функции (например, =ДЕНЬ(“24.06.2018”)) необходимо использовать кавычки, указывая тем самым на то, что передаваемые на вход данные имеют тип Текст. Далее Excel производит автоматическое преобразование данных в формат Дата.
- Ошибка #ЗНАЧ! Будет сгенерирована в том случае, если на вход функции ДЕНЬ были переданы данные неподдерживаемого Excel типа, например: ДЕНЬ(“24-июня-2018”) или ДЕНЬ(“24 06 2018”).
- Параметр дата может быть представлен в виде числа в коде времени Excel.
Функция ДЕНЬНЕД имеет следующую синтаксическую запись:
=ДЕНЬНЕД(дата;[тип])
Описание аргументов функции:
- Дата – обязательный параметр, соответствующей дате, день недели которой требуется определить. Данный параметр имеет особенности, описанные в примечаниях к предыдущей функции.
- Тип – число в диапазоне от 1 до 3, указывающее на то, какой день недели считается первым (в некоторых странах первый день недели – воскресенье, в нашей – понедельник). Если тип=1, первым днем недели будет считаться воскресенье, тип=2 – понедельник. Если тип=3, результатом работы функции ДЕНЬНЕД будет число из диапазона от 0 до 6, где 0 соответствует понедельнику.
Примечение: в некоторых случаях вместо чисел 1,2…7 требуется вывод названия дня недели (понедельник, вторник… воскресенье). Для этого можно составить такую таблицу:

И затем выводить текстовое значение, соответствующее номеру дня недели:

Однако для данной задачи можно использовать следующую функцию: =ТЕКСТ(A2;"dddd").

Результатом выполнения данной функции является текст «воскресенье». Если требуется краткая запись дня недели (Сб, Пн, Ср), в качестве второго параметра следует указать «dddd».
Функция ДНИ используется для расчета количества дней между двумя указанными датами и имеет следующий синтаксис: =ДНИ(кон_дата;нач_дата).
Описание аргументов данной функции:
- Кон_дата – обязательный параметр, характеризующий дату окончания какого-либо события.
- Нач_дата – обязательный параметр, характеризующий дату начала определенного события для выполнения расчета.
Примечания:
- При вычислении количества дней между датами выполняется преобразование данных в числа в коде времени Excel. Это означает, что записи «=ДНИ(“24.06.2018”;”13.06.2018”)» и «=ДАТАЗНАЧ(“24.06.2018”)-ДАТАЗНАЧ(“13.06.2018”)» вернут одинаковые значения.
- Если один из параметров функции представляет дату, записанную как текст, то он будет обработан функцией ДАТАЗНАЧ, которая вернет целочисленную дату.
- Если параметрами функции являются числа, значения которых находятся за пределами допустимых в коде времени Excel, будет сгенерирована ошибка #ЗНАЧ!.
- Если в функции ДНИ использованы параметры в виде данных, которые не могут быть представлены в виде дат в Excel, будет возвращена ошибка #ЗНАЧ!.
Примеры расчетов в Excel с использованием функций ДЕНЬ, ДЕНЬНЕД и ДНИ
Пример 1. В таблице содержится несколько дат, записанных в формате дат Excel, в которые сотрудникам некоторого предприятия должна быть выплачена заработная плата. В связи с принятыми изменениями в законодательстве начисление зарплат сотрудникам должно производиться в первых числах каждого месяца. Необходимо исправить даты с 15/07/2018 на 01/07/2018. Часть таблицы выглядит следующим образом:

Для решения используем следующую формулу: =B3-ДЕНЬ(B3)+1.
Аналогично заполним остальные колонки. В результате получим новый столбец с правильными датами выдачи зарплаты:

Определение рабочих и выходных дней по формуле ДЕНЬНЕД
Пример 2. Программный продукт считывает данные из таблицы Excel и использует их в своих расчетах. Одна из ячеек содержит данные в формате Дата, соответствующие дате получения посылки. Необходимо определить, соответствует ли указанная дата рабочему дню недели (с Пн по Пт) и вернуть логическое значение “true” или “false” (если выходной день) для дальнейшей обработки программой.
Исходная таблица имеет следующий вид:

Для определения дня недели будем использовать ДЕНЬНЕД, первым аргументом которой является данные из ячейки «Дата прибытия», а вторым – 2 (отсчет дней недели начинается с единицы, которая соответствует понедельнику). Для решения используем следующую функцию:
Функция ЕСЛИ проверяет условие: находится ли полученное в результате работы функции ДЕНЬНЕД значение в интервале от 1 до 5 включительно и возвращает соответствующий результат (true или false).
Вычислим значения для остальных полей данных:

Как видно, все даты являются рабочими днями недели.
Зачем нужна функция ДНИ в Excel?
Пример 3. Общеизвестно, что ВОВ была начата 22 июня 1941 года и закончилась 9 мая 1945 года. Необходимо определить, сколько дней проходили военные действия.
Внесем исходные данные в таблицу:

Для расчета используем следующую формулу: =ДНИ(B3;A3).

Получаем следующий результат:

То есть, военные действия длились на протяжении 1417 дней.
Обратите внимание! Любая дата в Excel – это число дней, прошедших начиная от даты 01.01.1900г. Подробнее описано в статье: Как вычислить дату в Excel? Поэтому можно свободно использовать такую простую формулу без функций: =B3-A3.

Как видно на рисунке результат аналогичен. Фактически функция ДНИ в Excel не нужна вообще.