Перейти к содержанию
Innovialabs

Функции дат в Excel: РАЗНДАТ, ЧИСТРАБДНИ, КОНМЕСЯЦА

Практика3 мин

Коротко

Дата в Excel — это число, поэтому сроки считаются сложением, рабочие дни — через ЧИСТРАБДНИ и РАБДЕНЬ со списком праздников, возраст и стаж — через РАЗНДАТ, концы месяцев — через КОНМЕСЯЦА.

Короткий ответ

Excel хранит дату как порядковое число дней, а то, что вы видите, — лишь формат ячейки. Поэтому:

  • срок через 30 календарных дней — =A2+30;
  • рабочие дни между датами — ЧИСТРАБДНИ (NETWORKDAYS);
  • дата через N рабочих дней — РАБДЕНЬ (WORKDAY);
  • полные годы и месяцы между датами — РАЗНДАТ (DATEDIF);
  • последний день месяца — КОНМЕСЯЦА (EOMONTH).

Ниже формулы для русской версии Excel с разделителем «;». В английской версии и в Google Таблицах используются английские названия из скобок, разделитель зависит от региональных настроек.

Дедлайны в календарных и рабочих днях

Календарный срок — простое сложение:

=A2+14

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

=РАБДЕНЬ(A2; 10; Праздники)

РАБДЕНЬ не считает саму начальную дату: отсчёт начинается со следующего дня.

Шестидневка. Если выходной только воскресенье, используйте версии с суффиксом .МЕЖД. Строка из семи символов описывает неделю с понедельника, где 1 — выходной:

=РАБДЕНЬ.МЕЖД(A2; 10; "0000001"; Праздники)

Рабочие дни между датами

=ЧИСТРАБДНИ(A2; B2; Праздники)
=ЧИСТРАБДНИ.МЕЖД(A2; B2; "0000001"; Праздники)

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

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

Возраст и стаж: РАЗНДАТ

РАЗНДАТ не отображается в подсказках мастера функций, но работает. Третий аргумент задаёт единицу:

КодЧто возвращает
"Y"Полные годы
"M"Полные месяцы
"D"Дни
"YM"Месяцы сверх полных лет
"YD"Дни сверх полных лет
"MD"Дни сверх полных месяцев

Возраст на сегодня:

=РАЗНДАТ(B2; СЕГОДНЯ(); "Y")

Стаж в виде «3 г. 7 мес.»:

=РАЗНДАТ(B2; СЕГОДНЯ(); "Y") & " г. " & РАЗНДАТ(B2; СЕГОДНЯ(); "YM") & " мес."

Важно: начальная дата должна быть раньше конечной, иначе будет ошибка #ЧИСЛО!. Код "MD" в отдельных случаях даёт неверный результат, и Microsoft не рекомендует на него полагаться.

Концы месяцев: КОНМЕСЯЦА

Второй аргумент — сдвиг в месяцах: 0 — текущий, 1 — следующий, −1 — предыдущий.

=КОНМЕСЯЦА(A2; 0)       последний день месяца
=КОНМЕСЯЦА(A2; -1)+1    первый день месяца
=КОНМЕСЯЦА(A2; 1)       оплата до конца следующего месяца
=ДЕНЬ(КОНМЕСЯЦА(A2; 0)) количество дней в месяце

Если результат показывается числом вроде 46387, это не ошибка: просто задайте ячейке формат даты. Для сдвига на целые месяцы с сохранением дня есть ДАТАМЕС (EDATE).

Форматы дат

  • Формат ячейки (Ctrl+1) меняет только отображение, значение остаётся датой, и с ним можно считать.
  • ТЕКСТ превращает дату в строку для подписей: =ТЕКСТ(A2; "ДД.ММ.ГГГГ"). Коды формата зависят от языка Excel: в английской версии это "dd.mm.yyyy".
  • Не используйте ТЕКСТ в ячейках, по которым потом считаете: результат — уже текст.

Даты, сохранённые как текст

Признаки: даты прижаты к левому краю, сортировка идёт «по алфавиту», =ЕЧИСЛО(A2) возвращает ЛОЖЬ.

Способы исправить:

  1. Текст по столбцам. Выделите столбец, выберите «Данные → Текст по столбцам», на последнем шаге укажите формат «Дата» и порядок ДМГ.
  2. ДАТАЗНАЧ — =ДАТАЗНАЧ(A2) работает, если текст совпадает с региональным форматом дат.
  3. Сборка из частей для строк вида «25.12.2026», не зависящая от настроек:
=ДАТА(ПРАВСИМВ(A2; 4); ПСТР(A2; 4; 2); ЛЕВСИМВ(A2; 2))

Перед этим уберите лишние пробелы через СЖПРОБЕЛЫ, а неразрывные пробелы из выгрузок — через ПОДСТАВИТЬ.

Частые вопросы

Функция включает в подсчёт и начальную, и конечную дату. Если первый день считать не нужно, вычтите единицу или начните со следующего дня.

Поможем с этим

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

Обсудить проект

Читайте также

Есть идея или задача? Расскажите нам

Ответим в течение рабочего дня и предложим решение. Консультация бесплатная.