Menu

РАЗНДАТ в Excel (эксель): годы, месяцы и дни между датами

=РАЗНДАТ(A2;B2;"M") считает полные месяцы между начальной датой в A2 и конечной в B2. Единицы Y, M, D, YM, MD и YD, почему РАЗНДАТ нет в списке функций и ошибка #ЧИСЛО!.

Каждая таблица на этой странице живая: измените число или формулу, и она пересчитается.

=РАЗНДАТ(A2;B2;"M") считает полные месяцы между начальной датой в A2 и конечной датой в B2. Это функция РАЗНДАТ (по-английски DATEDIF). Третий аргумент, единица, определяет, что считать: "Y" годы, "M" месяцы, "D" дни, а также три единицы, которые не учитывают часть дат. В таблице ниже формулы записаны по-английски, но их можно вводить и по-русски, с точкой с запятой; единицы и в русском Excel пишутся латинскими буквами.

Все единицы РАЗНДАТ на одной паре дат
E3
ABCDE
1StartEndUnitResult
22024-04-152026-09-10Y2
3M28
4D878
5YM4
6MD26
7YD148
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =РАЗНДАТ($A$2;$B$2;D3)

С 2024-04-15 по 2026-09-10 проходит 2 полных года, 28 полных месяцев и 878 дней. Измените конечную дату в B2 и посмотрите, как меняется каждая единица. Единицу можно вписать в формулу ("M") или, как здесь, взять из ячейки.

Синтаксис и единицы РАЗНДАТ

=DATEDIF(start_date, end_date, unit)
ЕдиницаЧто считаетС 2024-04-15 по 2026-09-10
"Y"полные годы2
"M"полные месяцы28
"D"дни878
"YM"месяцы после последнего полного года4
"MD"дни после последнего полного месяца26
"YD"дни после последнего полного года148

«Полные» означает, что РАЗНДАТ никогда не округляет вверх. С 31 января по 28 февраля проходит 0 месяцев, потому что 28 февраля наступает раньше отметки в один месяц. Регистр единицы не важен ("m" тоже работает), но она должна стоять в кавычках или в ячейке.

Почему РАЗНДАТ нет в списке функций

РАЗНДАТ пришла в Excel из Lotus 1-2-3, и Microsoft сохраняет её только ради совместимости. Её нет в окне «Вставка функции», автозавершение формул её не предлагает, и подсказка с аргументами не появляется. При этом она считает в любой версии Excel для Windows и Mac, а также в Google Таблицах. Введите имя целиком вместе с открывающей скобкой, =РАЗНДАТ(, и добавьте аргументы сами.

Месяцы между двумя датами

Полные месяцы нужны большинству договоров, подписок и отчётов о стаже. Для дробного значения ДОЛЯГОДА(A2;B2)*12 возвращает месяцы с сохранённой дробной частью (базис по умолчанию считает каждый месяц равным 30 дням).

Месяцы каждой подписки
C2
ABCD
1StartEndFull monthsDecimal months
22025-03-102026-01-0599.8
32024-04-152026-09-102828.8
42026-01-312026-02-2800.9
52025-11-012026-05-0166.0
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =РАЗНДАТ(A2;B2;"M")

Первая подписка длилась 9 полных месяцев: 5 января наступает раньше 10-го числа, поэтому десятый месяц не засчитывается. Третья строка показывает случай с 31 января, 0 месяцев.

Годы, месяцы и дни вместе

"Y", "YM" и "MD" задуманы для совместного использования. Каждая продолжает с того места, где остановилась предыдущая, поэтому все три вместе отвечают на вопрос «сколько точно»: 2 года, 4 месяца и 26 дней для дат выше. Страница расчёт возраста применяет те же три единицы к датам рождения.

Стаж работы
E2
ABCDEF
1HiredYearsMonthsDaysServiceAs of
22019-06-0373277y 3m 27d2026-09-30
32023-11-20210102y 10m 10d
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =B2&"y "&C2&"m "&D2&"d"

У первого сотрудника на 2026-09-30 стаж 7 лет, 3 месяца и 27 дней.

Почему РАЗНДАТ возвращает #ЧИСЛО!

РАЗНДАТ отказывается считать назад. Когда начальная дата позже конечной, результат #ЧИСЛО! (по-английски #NUM!; таблицы на этой странице показывают ошибки под английскими именами). Если порядок может быть любым, передайте РАЗНДАТ более раннюю дату через МИН, а более позднюю через МАКС.

Начальная дата позже конечной
C2
ABCD
1StartEndDATEDIFWith MIN and MAX
22026-03-102026-01-05#NUM!64
#NUM! Число выходит за допустимые для этой функции пределы.В русском Excel: =РАЗНДАТ(A2;B2;"D")

C2 показывает #NUM!; D2 возвращает 64. Для одних только дней =ABS(B2-A2) даёт те же 64 без РАЗНДАТ. РАЗНДАТ также возвращает #ЧИСЛО! для неизвестной единицы вроде "W" и #ЗНАЧ! (#VALUE!), когда дата записана текстом, который Excel не может прочитать как дату.

Единица MD может ошибаться

Документация самой Microsoft не советует пользоваться "MD": когда начального дня нет в месяце перед конечной датой, она может вернуть отрицательное число.

MD от 31 января
C2
ABCD
1StartEndMDD
22026-01-312026-03-01-229
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =РАЗНДАТ(A2;B2;"MD")

С 31 января по 1 марта результат "MD" равен -2: РАЗНДАТ считает от «31 февраля», а оно переходит в 3 марта, на два дня позже конечной даты. Число дней, 29, верное. Когда начальные даты могут приходиться на 29-е, 30-е или 31-е, показывайте длительность в днях или проверяйте значение MD вручную.

Практика: посчитать месяцы

Ваша очередь
C2
ABC
1StartEndMonths
22025-03-102026-01-05
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.

Ваша очередь: В C2 посчитайте полные месяцы между начальной датой в A2 и конечной датой в B2.

Ваша очередь: в любом порядке
C2
ABC
1Date 1Date 2Days
22026-04-182026-02-01
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.

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

Часто задаваемые вопросы

Что делает РАЗНДАТ в Excel?

Она считает полные годы, месяцы или дни между двумя датами: =РАЗНДАТ(A2;B2;"Y") для лет, "M" для месяцев, "D" для дней. Начальная дата должна стоять первой.

Почему я не могу найти РАЗНДАТ в Excel?

РАЗНДАТ оставлена для совместимости с Lotus 1-2-3, поэтому Excel не показывает её в окне вставки функции и в автозавершении формул. Она всё равно работает в любой версии: введите =РАЗНДАТ( полностью и добавьте аргументы сами.

Почему РАЗНДАТ возвращает #ЧИСЛО!?

Начальная дата позже конечной. Поменяйте аргументы местами или используйте =РАЗНДАТ(МИН(A2;B2);МАКС(A2;B2);"D"), если неизвестно, какая дата раньше.

Чем отличаются YM, MD и YD в РАЗНДАТ?

Они не учитывают часть дат: "YM" даёт месяцы, оставшиеся после полных лет, "MD" дни, оставшиеся после полных месяцев, а "YD" дни, оставшиеся после полных лет. Вместе "Y", "YM" и "MD" дают возраст в годах, месяцах и днях.

Работает ли РАЗНДАТ в Google Таблицах?

Да, с теми же аргументами и единицами. В отличие от Excel, Google Таблицы показывают её и в справке по функциям.

Иллюстрация языков программирования Coddy

Учитесь программировать с Coddy

НАЧАТЬ