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

Вам интересно, сколько составляет разница в днях, месяцах и годах между двумя датами? Может быть, вам нужно знать количество дней между сегодняшним днем ​​и какой-либо точкой в прошлом или будущем?

Какова бы ни была ваша проблема, один из приведенных ниже примеров в Excel наверняка подскажет вам решение.

Простой калькулятор дней.

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

Хотите узнать формулу, которая рассчитала эти результаты? Это так же просто, как =B3-B2:)

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

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

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

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

Как рассчитать разницу в днях?

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

= Более новая - Более старая

Как мы уже сказали ранее, чтобы узнать, сколько времени пройдет в периоде между ячейками В3 и B2, используйте следующую формулу:

=B3 - В2

где В2 - более ранняя, а B3 - более.

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

Однако, будьте здесь внимательны: при подобном подсчете отработанных дней в том случае, если человек работал и в первый, и в последний день, то 1 день будет «потерян». Добавьте в вашу формулу +1 день.

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

Как вы, вероятно, знаете, Microsoft Excel хранит даты в виде порядковых номеров, начинающихся с 1 января 1900 года, которому соответствует номер 1. В этой системе 2 января 1900 года сохраняется как число 2, 3 января 1900 года как 3 и так далее. Таким образом, вычитая одну дату из другой, вы фактически вычитаете целые числа, представляющие их.

В нашем примере формула в C5 на самом деле вычитает 43892 (числовое значение 2 марта 2020г.) из 43900 (числовое значение 10 марта 2020г.) и возвращает результат 8 дней.

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

Рассчитать разницу между датами в Excel с помощью РАЗНДАТ (DATEDIF).

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

А вот ее синтаксис:

= РАЗНДАТ(дата_нач; дата_кон; аргумент)

где

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

аргумент – указывает, как представить результат; может иметь одно из следующих значений:

  • Y Число полных лет.
  • M Число полных месяцев.
  • D Число дней.
  • MD Разница в днях (значения месяца и года не учитываются).
  • YM Разница в месяцах (значения дня и года не учитываются).
  • YD Разница в днях, игнорируя значения года.

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

РАЗНДАТ(дата_нач; дата_кон; "d")

DATEDIF (start_date, end_date, "d")

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

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

  • Ссылки на ячейки. Например, следующая формула вернет количество дней между A3 и B3:

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

Текстовые выражения. Excel понимает даты в различных форматах, например, «2 март 2020», «20.03.2020», «20/03/2020», «2020/03/20», «20-03-2020», «2020-03-20» и т.д.

Вот примеры расчета количества дней во временных промежутках:

=РАЗНДАТ("2 март 2020"; "2020-03-20"; "D")

=РАЗНДАТ("02-03-2020"; "20/03/2020"; "D")

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

  • Порядковые номера. Поскольку Microsoft Excel хранит каждую дату как порядковый номер, начинающийся с 1 января 1900 года, вы можете поместить числа, соответствующие датам, непосредственно в формулу. Хотя этот метод полностью поддерживается, все же он не является надежным, поскольку нумерация различается в разных компьютерных системах (Windows и MacOS).

В системе дат 1900 года следующая формула является еще одним способом вычисления месяцев по условиям из предыдущего примера (2 марта 2020 года и 10 марта 2020 года):

=РАЗНДАТ(43900; 43892; "D")

  • Результаты выполнения других функций. Например, следующая формула подсчитывает, срок между сегодня (18 марта 2020г.) и 9 мая 2020 года.

=РАЗНДАТ(СЕГОДНЯ(); «9-05-2020»; "D")

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

1.     Разница в днях.

В нашем примере формула расчета в D3 выглядит следующим образом:

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

Обратите также внимание, что при простом вычитании дат, которые также содержат время, мы получаем в результате дробное число. Так произошло в С5 и С6. Что делать с такими дробями – поговорим чуть позже. А вот время здесь просто игнорируется. В этом вы можете убедиться в диапазоне D5:I6.

Аналогичный результат можно получить формулами:

=ЦЕЛОЕ(В2)-ЦЕЛОЕ(А2)

Время, то есть дробная часть, будет отброшено.

Кстати, если нужно подсчитать только рабочие дни, то следует использовать выражение

=ЧИСТРАБДНИ(В2;А2)

Более подробно о расчете рабочих дней читайте здесь.

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

Обращаемся к ячейке Е3:

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

Обратите внимание, выражение вернет количество полных месяцев. В нашем примере 13 месяцев и 7 дней «округлены» ровно до 13. И последний день интервала, как мы уже говорили, эта функция не учитывает. В частности,

=РАЗНДАТ(“01.03.2020”;”31.03.2020”;"m")

возвращает результат 0, так как последний день не включается в расчет. Вы это видите в ячейке E7. Это также будет важно при расчете стажа и отработанного времени. Учитывайте эту особенность и просто добавляйте 1 дополнительный день!

Формула может быть заменена альтернативным выражением:

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

3.     Разница в полных годах.

Формула в ячейке F3 вернет количество полных лет:

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

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

Ну и альтернативный способ расчета —

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

4.     Разница в полных месяцах без учета лет.

Используем в I3 аргумент "YM".

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

Второй параметр и конечная точка у нас – 10.04.2020 г. Поскольку годы мы здесь игнорируем, то год первого параметра также становится 2020. И мы теперь сравниваем 10.04.2020 и 2.03.2020г.

Результат – 1 полный месяц.

А вот если начало, предположим, будет 01.09.2015г.? Ведь ее нельзя модифицировать до 01.09.2020, поскольку тогда функция выдаст ошибку. И программа ее меняет на 01.09.2019. Результат здесь – 7 полных месяцев.

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

Ну и альтернативный расчет –

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

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

Здесь немного сложнее.  Итак, в G3 пишем:

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

Разберем, как получен результат в G3. Поскольку для нас не важны месяц и год, мы в начальной дате меняем их на текущие. То есть вместо 02.03.2019 рассматриваем 02.04.2020.  Сравниваем с 10.04.2020 и получаем 8 дней. Есть ли в таком результате смысл? Вряд ли. Поэтому и не рекомендуется применение этого аргумента как отдельного расчета.

Быть может, поэтому РАЗНДАТ и нет в списке официальных функций Excel.

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

То же самое, что и в предыдущем аргументе. Считаем количество суток между двумя точками без учета лет.

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

Для начального момента — 02.03.2019 и конечного – 10.04.2020, разница в 39 дней выглядит явной ошибкой. Аналогично – между 01.09.2015 и 10.04.2020 совсем не 222 дня.

Следовательно, использование этого аргумента также не рекомендуем.

А зачем же всё это нужно? Ответ читайте в следующем разделе.

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

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

=РАЗНДАТ(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")&" дней";"")

Более подробно об условиях и функции ЕСЛИ читайте здесь.

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

=ЕСЛИ(РАЗНДАТ(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")>0;РАЗНДАТ(B2;B3;"md")&" д"&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(B2;B3;"md")-11;100);9); 10);"[<1]ень;[<4]ня;ней");)

Выглядит угрожающе, но зато работает.

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

У пользователей Excel 2013 и 2016 есть еще один удивительно простой способ посчитать количество дней во временном интервале — функция ДНИ.

ДНИ (дата_окончания; дата_начала)

Обратите внимание, что по сравнению с РАЗНДАТ, функция ДНИ требует указания дат в обратном порядке.

Итак, наше выражение принимает вид:

=ДНИ(B3;A3)

Как и обычное вычитание, оно возвращает разницу в виде положительного или отрицательного числа, в зависимости от того, больше или меньше срок окончания, чем начало:

Думаю, в большинстве случаев можно использовать простое вычитание. Возможно, при этом только нужно будет изменить формат ячейки, убрав дробную часть.

Как рассчитать количество дней между сегодня ​​и другой датой.

Для этого расчета вы можете использовать любую из формул, описанных выше, и применить функцию СЕГОДНЯ (TODAY в английском варианте) в качестве одного из аргументов.

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

=СЕГОДНЯ() – Дата_в_прошлом

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

=Дата_в_будущем - СЕГОДНЯ()

В качестве примера, давайте посчитаем разницу между текущим моментом времени ​​и более ранним - в A4 (сегодня 18 марта 2020г.):

=СЕГОДНЯ()–A3

А теперь давайте выясним, сколько осталось от сегодняшнего дня (18.03.2020г.) до более позднего срока:

Узнайте, сколько дней между сегодняшним днем ​​и будущим.

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

Мастер даты и времени - простой способ создавать формулы разницы дат в Excel

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

Надстройка Ultimate Suite  радикально меняет это положение, поскольку там имеется мастер даты и времени, который может мгновенно создать практически любую формулу разницы дат. Если вы не уверены, какую формулу использовать, позвольте мастеру даты и времени вычислить количество дней между двумя датами за вас Вот каким образом это можно сделать:

  1. Выберите ячейку, в которую вы хотите вставить формулу.
  2. Перейдите на вкладку Ablebits Tools  и нажмите кнопку Мастер даты и времени (Date & Time Wizard).
  3. Появится диалоговое окно мастера даты и времени, где вы переходите на вкладку «Разница (Difference)» и вводите необходимые данные для расчёта:
    • Щелкните поле Дата 1  и выберите ячейку, содержащую первую дату.
    • Щелкните поле Дата 2 и укажите ячейку со второй датой.
    • Выберите желаемую единицу или комбинацию единиц времени из раскрывающегося меню «Разница в (Difference in)» . При этом программа позволяет предварительно просмотреть результат в поле и формулу в ячейке.

Инструмент может рассчитать разницу между двумя датами в 15 форматах:

  1. Годы
  2. Месяцы
  3. Недели
  4. Дни
  5. Годы + месяцы
  6. Годы + недели
  7. Годы + дни
  8. Месяцы + недели
  9. Месяцы + дни
  10. Недели + дни
  11. Годы + месяцы + недели
  12. Годы + месяцы + дни
  13. Годы + недели + дни
  14. Месяцы + недели + дни
  15. Годы + месяцы + недели + дни
  1. Если вас устраивает то, что вы увидели, нажмите кнопку «Вставить формулу (Insert Formula)», в противном случае попробуйте другие единицы измерения.

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

К сожалению, метки даты и времени вставляются по-английски. Однако, поскольку надстройка формирует для вас не текст, а формулу расчета (что вы и видите на скриншоте), то откорректировать формулу и пользоваться в дальнейшем ее русской версией не слишком сложно.

Да и вряд ли вы самостоятельно напишете такую сложную конструкцию  😊

Для наиболее удобного представления результатов доступно еще несколько дополнительных опций:

  • Исключить годы и / или месяцы из расчетов. (Годы и / или месяцы просто будут отброшены).
  • Показывать или не показывать текстовые метки времени, такие как дни, месяцы, недели и годы .
  • Показывать или не показывать нулевые единицы (0 месяцев, например) .
  • Возвращает результаты как отрицательные значения, если Дата 1 (дата начала) больше, чем Дата 2 (дата окончания). Думаю, вы сталкивались с ситуацией, когда попытка вычесть из более ранней даты более позднюю приводила к ошибке. Здесь вы просто получите отрицательную разность.

Более подробная информация доступна здесь.

Преимущества использования мастера формул даты и времени

Помимо скорости и простоты, Мастер даты и времени предоставляет еще несколько преимуществ:

  • В отличие от обычной формулы РАЗНДАТ, для формулы, созданной мастером, не важно, какая из двух дат меньше, а какая больше. Разница всегда рассчитывается идеально, даже если Дата 1 (дата начала) больше, чем Дата 2 (дата окончания).
  • Мастер поддерживает все возможные единицы измерения (дни, недели, месяцы и годы) и позволяет вам выбирать подходящий вариант из 11 различных комбинаций этих единиц.
  • Формулы, которые мастер создает для вас, являются обычными формулами Excel, поэтому вы можете редактировать, копировать или перемещать их как обычно. Вы также можете поделиться своими таблицами с другими людьми, и все формулы останутся на своих местах, даже если у кого-то нет Ultimate Suite в их Excel.

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

Думаю, теперь операции с датами стали для вас намного проще и понятнее. Если вы не нашли ответ на интересующий вас вопрос, ознакомьтесь с дополнительными материалами, ссылки на которые вы видите чуть ниже. Или напишите нам в комментариях – постараемся ответить.

Также рекомендуем статьи о работе с датами:

Как вывести месяц из даты - На примерах мы покажем, как получить месяц из даты в таблицах Excel, преобразовать число в его название и наоборот, а также многое другое. Думаю, вы уже знаете, что дата в…
Функция Excel СЕГОДНЯ — синтаксис и основные применения - Функция СЕГОДНЯ в Excel делает именно то, на что указывает ее имя - возвращает сегодняшнюю дату. Синтаксис ее настолько прост, насколько это вообще возможно - у нее вообще нет аргументов. Всякий…
Как быстро вставить сегодняшнюю дату в Excel? - Это руководство показывает различные способы ввода дат в Excel. Узнайте, как вставить сегодняшнюю дату и время в виде статической метки времени или динамических значений, как автоматически заполнять столбец или строку…
Количество рабочих дней между двумя датами в Excel - Довольно распространенная задача: определить количество рабочих дней в период между двумя датами – это частный случай расчета числа дней, который мы уже рассматривали ранее. Тем не менее, в Excel для…
8 способов — как посчитать возраст в Excel по дате рождения. - В Excel нет специальной функции, чтобы посчитать возраст, однако существует несколько различных способов его определения на основе даты рождения. Вы узнаете несколько приемов, как рассчитать его в количестве полных лет,…
Как преобразовать текст в дату в Excel или извлечь ее из сложной фразы? - Сейчас вы научитесь использовать функции Excel для преобразования текста в дату. Вы также узнаете, как это сделать без использования формул. Поскольку Excel - не единственное приложение, которое вы используете, иногда…