Разность дат и количество дней между датами в Excel

Фев 21, 2025 | Дата и время, Функции Excel | Нет комментариев

Home 9 Дата и время 9 Разность дат и количество дней между датами в Excel

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

Независимо от вашей задачи, один из приведенных ниже примеров в Excel поможет вам найти решение.

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

Для этого:

  • Выделите ячейку или диапазон ячеек с числами, которые нужно отобразить как даты.
  • Нажмите сочетание горячих клавиш форматирования Ctrl + 1, чтобы открыть диалоговое окно «Формат ячеек».
  • На вкладке «Числовые форматы» выберите категорию «Дата».
  • В разделе «Тип» выберите подходящий формат и нажмите «ОК».

У нас есть подробное руководство для этого: Формат даты в Excel.


Простой калькулятор разности дат

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

Хотите узнать формулу, которая использовалась для этих расчетов? Все очень просто: =B3-B2 🙂

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


Как посчитать количество дней между датами?

Самый простой способ определить количество дней между двумя датами в Excel — вычесть одну дату из другой:

= Поздняя дата — Ранняя дата

Пример:

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

=B3 — B2

где:

B2 — более ранняя дата,

B3 — более поздняя дата.

разность дат в excel

Результат будет представлять собой целое число, обозначающее количество дней в выбранном временном интервале.

Важно! Важно понимать, что именно вы хотите подсчитать: «дни включительно» или «дни между».

Если вы рассчитываете отработанные дни и человек работал и в первый, и в последний день, то при таком подсчете один день может быть упущен. Чтобы этого избежать, добавьте к вашей формуле +1 день:

=B3 — B2 + 1

Как работает эта формула?

Как вы, возможно, знаете, Microsoft Excel хранит даты в виде порядковых чисел, начиная с 1 января 1900 года, которому соответствует число 1. Таким образом:

2 января 1900 года — это число 2,

3 января 1900 года — число 3,

и так далее.

Поэтому, когда вы вычитаете одну дату из другой, вы фактически вычитаете соответствующие им числа.

В нашем примере:

1 февраля 2025 г. соответствует числу 45689,

15 февраля 2025 г. — числу 45703.

Вычисление:

=45703 — 45689 = 14

То есть, между этими датами 14 дней.

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

Также рекомендуем эту статью: Разница дат в часах и  минутах в Excel.


Как посчитать количество дней между датами в Excel с помощью РАЗНДАТ

Еще один способ, как в Excel посчитать разность дат — это использование функции РАЗНДАТ (в английской версии — DATEDIF). Она специально предназначена для вычисления разницы между датами и представления ее в различных единицах: днях, месяцах и годах.

Синтаксис функции:

=РАЗНДАТ(дата_начала; дата_конца; единица)

Где:

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

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

  • «Y» — разность дат в числе полных лет.
  • «M» — разница между датами в числе полных месяцев.
  • «D» — количество дней между датами.
  • «MD» — разность дат в днях, игнорируя месяцы и годы.
  • «YM» — разница в месяцах, игнорируя дни и годы.
  • «YD» — разница в днях, игнорируя годы.

Чтобы получить в Excel количество дней между двумя датами, укажите дату начала в первом аргументе, дату окончания во втором и «D» в качестве единицы измерения:

=РАЗНДАТ(дата_начала; дата_конца; "D")

Примечание: Функция РАЗНДАТ является недокументированной, то есть она отсутствует в мастере функций Excel. Вы не сможете вставить ее с помощью кнопки fx или через меню Вставка — Функция. Поэтому необходимо вручную ввести название функции и ее аргументы; подсказки ввода не появятся.

Способы указания данных для формулы разность дат:

  • Ссылки на ячейки. Например, следующая формула вернет количество дней между датами в ячейках A3 и B3:
=РАЗНДАТ(A3; B3; "D")
  • Текстовые значения. Excel понимает даты в различных форматах:
=РАЗНДАТ("1 февраль 2025"; "15.02.2025"; "D")
=РАЗНДАТ("01-02-2025"; "15/02/2025"; "D")

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

  • Порядковые номера. Поскольку Excel хранит даты как порядковые числа начиная с 1 января 1900 года, вы можете использовать эти числа напрямую в формуле. Однако этот метод не всегда надежен из-за различий в системах (Windows и MacOS):
=РАЗНДАТ(45703; 45689; "D")
  • Результаты других функций. Например, чтобы вычислить количество дней между текущей датой и 13 июня 2025 года:
=РАЗНДАТ(СЕГОДНЯ(); "13-06-2025"; "D")

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

количество дней, месяцев и лет  между датами в excel

В тексте далее мы будем ссылаться на данные этой таблицы.


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

В нашем примере формула в D3 выглядит так:

=РАЗНДАТ(A3; B3; "D")

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

А функция РАЗНДАТ игнорирует время и работает только с датами.

Аналогичного результата можно достичь с помощью:

=ЦЕЛОЕ(B2) - ЦЕЛОЕ(A2)

Здесь дробная часть (время) отбрасывается.

Если необходимо подсчитать только рабочие дни, используйте функцию:

=ЧИСТРАБДНИ(B2; A2)

Разница в полных месяцах

Что рассчитать в Excel разность дат в полных месяцах, в ячейке E3 на скриншоте выше используем формулу:

=РАЗНДАТ(A3; B3; "M")

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

Обратите внимание, что последний день периода не включается в расчет.

Например:

=РАЗНДАТ(«01.03.2025»; «31.03.2025»; «M»)

Результат этой формулы: 0 месяцев.

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

Альтернативная формула для расчета месяцев:

=12*(ГОД(B3)-ГОД(A3)) - (МЕСЯЦ(A3)-МЕСЯЦ(B3)) - (ДЕНЬ(B3)<ДЕНЬ(A3))

Разность дат в полных годах

=РАЗНДАТ(A3; B3; "Y")

Она возвращает количество полных лет, игнорируя неполные годы.

Альтернативный метод:

=ЕСЛИ(ДАТА(ГОД(B3); МЕСЯЦ(A3); ДЕНЬ(A3)) <= B3; ГОД(B3)-ГОД(A3); ГОД(B3)-ГОД(A3)-1)

Разница в месяцах без учета лет

Используем аргумент «YM» в I3:

=РАЗНДАТ(A3; B3; "YM")

Этот аргумент возвращает количество месяцев, игнорируя годы.


Разница в днях без учета месяцев и лет

Формула выглядит так:

=РАЗНДАТ(A3; B3; "MD")

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


Разница в днях без учета лет

Используем:

=РАЗНДАТ(A3; B3; "YD")

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


Как посчитать разницу в днях, месяцах и годах

Чтобы одновременно получить количество полных лет, месяцев и дней между двумя датами, объедините несколько функций РАЗНДАТ:

=РАЗНДАТ(B2; B3; "Y") & " лет, " & РАЗНДАТ(B2; B3; "YM") & " месяцев, " & РАЗНДАТ(B2; B3; "MD") & " дней"

Если не хотите отображать нулевые значения, используйте функцию ЕСЛИ:

=ЕСЛИ(РАЗНДАТ(B2; B3; "Y")>0; РАЗНДАТ(B2; B3; "Y") & " лет "; "") & ЕСЛИ(РАЗНДАТ(B2; B3; "YM")>0; РАЗНДАТ(B2; B3; "YM") & " месяцев "; "") & ЕСЛИ(РАЗНДАТ(B2; B3; "MD")>0; РАЗНДАТ(B2; B3; "MD") & " дней"; "")

Пример вы можете видеть на скриншоте ниже.

разница между датами в excel прописью

Результат с учетом падежей.

Более сложная, но универсальная формула, которая учитывает склонения слов:

=ЕСЛИ(РАЗНДАТ(B2; B3; "Y"); РАЗНДАТ(B2; B3; "Y") & " " & ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(B2; B3; "Y") - 11; 100); 9); 10); "[<1]год;[<4]года;лет") & " "; "") & ЕСЛИ(РАЗНДАТ(B2; B3; "YM"); РАЗНДАТ(B2; B3; "YM") & " меся" & ТЕКСТ(ОСТАТ(РАЗНДАТ(B2; B3; "YM") - 1; 11); "[<1]ц;[<4]ца;цев") & " "; "") & ЕСЛИ(РАЗНДАТ(B2; B3; "MD"); РАЗНДАТ(B2; B3; "MD") & " д" & ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(B2; B3; "MD") - 11; 100); 9); 10); "[<1]ень;[<4]ня;ней"); "") 

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

Ещё больше полезных примеров вы можете посмотреть здесь: Как посчитать возраст по дате рождения в Excel.


Подсчет дней между датами с помощью функции ДНИ

В Excel 2013 и новее доступна функция ДНИ, которая упрощает расчет количества дней между датами.

=ДНИ(дата_конца; дата_начала)

Обратите внимание, что дата_конца идет первым аргументом.

Пример:

=ДНИ(B3; A3)

Функция вернет разницу в днях в виде положительного или отрицательного числа в зависимости от порядка дат.

как посчитать количество дней между датами в excel

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

Часто задаваемые вопросы и ответы (FAQ)

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