Разндат в excel как использовать

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 SharePoint Foundation 2010 Excel 2010 SharePoint Server 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Windows SharePoint Services 3.0 Еще…Меньше

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

Предупреждение: Функция РАЗНДАТ предлагается в Excel для поддержки старых книг Lotus 1-2-3. В некоторых ситуациях она может выдавать неправильные результаты. Дополнительные сведения см. в разделе «Известные проблемы» в этой статье.

Синтаксис

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

Аргумент

Описание

start_date   

Обязательный

Дата, которая представляет первую или даты начала заданного периода. Даты можно вводить в виде текстовых строк в кавычках (например, «30.1.2001»), в виде порядковых номеров (например, 36921 представляет 30 января 2001 г., если используется система дат 1900) или как результаты вычисления других формул или функций (например ДАТАЗНАЧ(«30.1.2001»)).

end_date   

Обязательный

Дата окончания периода.

Единица   

Тип возвращаемой информации, где:

Единица

Возвращаемое значение

«Y«

Количество полных лет в периоде.

«M«

Количество полных месяцев в периоде.

«D«

Количество дней в периоде.

«MD«

Разница в днях между начальной и конечной датой. Месяцы и годы дат не учитываются.

Важно: Не рекомендуется использовать аргумент «MD», так как с ним связаны определенные ограничения. См. раздел «Известные проблемы» ниже.

«YM«

Разница в месяцах между начальной и конечной датой. Дни и годы дат не учитываются.

«YD«

Разница в днях между начальной и конечной датой. Годы дат не учитываются.

Замечания

  • Даты хранятся в виде последовательных чисел, что позволяет использовать их в вычислениях. По умолчанию дате 1 января 1900 года соответствует номер 1, а 1 января 2008 года — 39448, так как интервал между этими датами составляет 39 447 дней.

  • Функция РАЗНДАТ полезна в формулах расчета возраста.

  • Если онtart_date больше, чем end_date,результат будет #NUM!.

Примеры

нач_дата

кон_дата

Формула

Описание (результат)

1.1.2001

1.1.2003

=РАЗНДАТ(нач_дата,кон_дата,»Y»)

Два полных года в периоде (2).

1.6.2001

15.8.2002

=РАЗНДАТ(нач_дата,кон_дата,»D»)

440 дней между 1 июня 2001 г. и 15 августа 2002 г. (440)

1.6.2001

15.8.2002

=РАЗНДАТ(нач_дата,кон_дата,»YD»)

75 дней между 1 июня и 15 августа без учета годов дат (75)

Известные проблемы

При использовании аргумента «MD» результатом может быть отрицательное число, нуль или неверное значение. Если вы пытаетесь вычислить оставшиеся дни после последнего полного месяца, вот как можно это сделать:

=РАЗНДАТ(D17;E17;"md"), результат: 5

Эта формула вычитает первый день окончания месяца (01.05.2016) из исходной даты окончания в ячейке E17 (06.05.2016). Вот как это делается: сначала функция ДАТА создает дату 01.05.2016. Она создается с помощью года в ячейке E17 и месяца в ячейке E17. 1 обозначает первый день месяца. Результатом функции ДАТА будет 01.05.2016. Затем мы вычитаем эту дату из исходной даты окончания в ячейке E17 (06.05.2016), в результате чего получается 5 дней.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Функции Excel (по алфавиту)

Функции Excel (по категориям)

Рекомендации, позволяющие избежать появления неработающих формул

Нужна дополнительная помощь?


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

РАЗНДАТ(

)

, английский вариант DATEDIF().

Если Вам требуется рассчитать стаж (страховой) в годах, месяцах, днях, то, пожалуйста, воспользуйтесь расчетами выполненными в статье

Расчет страхового (трудового) стажа в MS EXCEL

.

Функции

РАЗНДАТ(

)

нет в справке EXCEL2007 и в

Мастере функций

(

SHIFT

+

F

3

), но она работает, хотя и не без огрех.

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


РАЗНДАТ(начальная_дата; конечная_дата; способ_измерения)

Аргумент

начальная_дата

должна быть раньше аргумента

конечная_дата

.

Аргумент

способ_измерения

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


Значение


Описание

«d»

разница в днях

«m»

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

«y»

разница в полных годах

«ym»

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

«md»

разница в днях без учета месяцев и лет ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение, если день начальной даты больше дня конечной даты (например, в EXCEL 2007 при сравнении дат 28.02.2009 и 01.03.2009 результат будет 4 дня, а не 1 день). Избегайте использования функции с этим аргументом. Альтернативная формула приведена ниже.

«yd»

разница в днях без учета лет ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение. Избегайте использования функции с этим аргументом.

Ниже приведено подробное описание всех 6 значений аргумента

способ_измерения

, а также альтернативных формул (функцию

РАЗНДАТ()

можно заменить другими формулами (правда достаточно громоздкими). Это сделано в

файле примера

).

В файле примера значение аргумента

начальная_дата

помещена в ячейке

А2

, а значение аргумента

конечная_дата

– в ячейке

В2

.

1. Разница в днях («d»)

Формула

=РАЗНДАТ(A2;B2;»d»)

вернет простую разницу в днях между двумя датами.


Пример1:

начальная_дата

25.02.2007,

конечная_дата

26.02.2007

Результат:

1 (день).

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

РАЗНДАТ()

с осторожностью. Очевидно, что если сотрудник работал 25 и 26 февраля, то отработал он 2 дня, а не 1. То же относится и к расчету полных месяцев (см. ниже).


Пример2:

начальная_дата

01.02.2007,

конечная_дата

01.03.2007

Результат:

28 (дней)


Пример3:

начальная_дата

28.02.2008,

конечная_дата

01.03.2008

Результат:

2 (дня), т.к. 2008 год — високосный

Эта формула может быть заменена простым выражением

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

. Функция

ЦЕЛОЕ()

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

РАЗНДАТ()

игнорирует время, т.е. дробную часть числа, см. статью

Как Excel хранит дату и время

).


Примечание

: Если интересуют только рабочие дни, то к

оличество рабочих дней

между двумя датами можно посчитать по формуле

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

2. Разница в полных месяцах («m»)

Формула

=РАЗНДАТ(A2;B2;»m»)

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


Пример1:

начальная_дата

01.02.2007,

конечная_дата

01.03.2007

Результат:

1 (месяц)


Пример2:

начальная_дата

01.03.2007,

конечная_дата

31.03.2007

Результат:

0

При расчете стажа, считается, что сотрудник отработавший все дни месяца — отработал 1 полный месяц. Функция

РАЗНДАТ()

так не считает!


Пример3:

начальная_дата

01.02.2007,

конечная_дата

01.03.2009

Результат:

25 месяцев

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

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


Внимание

: В справке MS EXCEL (см. раздел Вычисление возраста) имеется кривая формула для вычисления количества месяце между 2-мя датами:


=(ГОД(ТДАТА())-ГОД(A3))*12+МЕСЯЦ(ТДАТА())-МЕСЯЦ(A3)

Если вместо функции ТДАТА() — текущая дата использовать дату 31.10.1961, а в А3 ввести 01.11.1962, то формула вернет 13, хотя фактически прошло 12 месяцев и 1 день (ноябрь и декабрь в 1961г. + 10 месяцев в 1962г.).

3. Разница в полных годах («y»)

Формула

=РАЗНДАТ(A2;B2;»y»)

вернет количество полных лет между двумя датами.


Пример1:

начальная_дата

01.02.2007,

конечная_дата

01.03.2009

Результат:

2 (года)


Пример2:

начальная_дата

01.04.2007,

конечная_дата

01.03.2009

Результат:

1 (год)

Подробнее читайте в статье

Полный возраст или стаж

.

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

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

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

Формула

=РАЗНДАТ(A2;B2;»ym»)

вернет количество полных месяцев между двумя датами без учета лет (см. примеры ниже).


Пример1:

начальная_дата

01.02.2007,

конечная_дата

01.03.2009

Результат:

1 (месяц), т.к. сравниваются конечная дата 01.03.2009 и модифицированная начальная дата 01.02.

2009

(год начальной даты заменяется годом конечной даты, т.к. 01.02

меньше

чем 01.03)


Пример2:

начальная_дата

01.04.2007,

конечная_дата

01.03.2009

Результат:

11 (месяцев), т.к. сравниваются конечная дата 01.03.2009 и модифицированная начальная дата 01.04.

2008

(год начальной даты заменяется годом конечной даты

за вычетом 1 года

, т.к. 01.04

больше

чем 01.03)

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

Сколько лет, месяцев, дней прошло с конкретной даты

.

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

=ОСТАТ(C7;12)

В ячейке

С7

должна содержаться разница в полных месяцах (см. п.2).

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

Формула

=РАЗНДАТ(A2;B2;»md»)

вернет количество дней между двумя датами без учета месяцев и лет. Использовать функцию

РАЗНДАТ()

с этим аргументом не рекомендуется (см. примеры ниже).


Пример1:

начальная_дата

01.02.2007,

конечная_дата

06.03.2009

Результат1:

5 (дней), т.к. сравниваются конечная дата 06.03.2009 и модифицированная начальная дата 01.

03

.

2009

(год и месяц начальной даты заменяется годом и месяцем конечной даты, т.к. 01

меньше

чем 06)


Пример2:

начальная_дата

28.02.2007,

конечная_дата

28.03.2009

Результат2:

0, т.к. сравниваются конечная дата 28.03.2009 и модифицированная начальная дата 28.

03

.

2009

(год и месяц начальной даты заменяется годом и месяцем конечной даты)


Пример3:

начальная_дата

28.02.2009,

конечная_дата

01.03.2009

Результат3:

4 (дня) — совершенно непонятный и НЕПРАВИЛЬНЫЙ результат. Ответ должен быть =1. Более того, результат вычисления зависит от версии EXCEL.

Версия EXCEL 2007 с SP3:

Результат – 143 дня! Больше чем дней в месяце!

Версия EXCEL 2007:

Разница между 28.02.2009 и 01.03.2009 – 4 дня!

Причем в EXCEL 2003 с SP3 формула возвращает верный результат 1 день. Для значений 31.12.2009 и 01.02.2010 результат вообще отрицательный (-2 дня)!

Не советую использовать формулу с вышеуказанным значением аргумента. Формула может быть заменена альтернативным выражением:

=ЕСЛИ(ДЕНЬ(A2)>ДЕНЬ(B2); ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B2;-1);0))-ДЕНЬ(A2)+ДЕНЬ(B2); ДЕНЬ(B2)-ДЕНЬ(A2))

Данная формула лишь эквивалетное (в большинстве случаев) выражение для

РАЗНДАТ()

с параметром md. О корректности этой формуле читайте в разделе «Еще раз о кривизне РАЗНДАТ()» ниже.

6. Разница в днях без учета лет («yd»)

Формула

=РАЗНДАТ(A2;B2;»yd»)

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

Результат, возвращаемый формулой

=РАЗНДАТ(A2;B2;»yd»)

зависит от версии EXCEL.

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

=ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))>B2; B2-ДАТА(ГОД(B2)-1;МЕСЯЦ(A2);ДЕНЬ(A2)); B2-ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2)))

Еще раз о кривизне РАЗНДАТ()

Найдем разницу дат 16.03.2015 и 30.01.15. Функция

РАЗНДАТ()

с параметрами md и ym подсчитает, что разница составляет 1 месяц и 14 дней. Так ли это на самом деле?

Имея формулу, эквивалентную

РАЗНДАТ()

, можно понять ход вычисления. Очевидно, что в нашем случае количество полных месяцев между датами = 1, т.е. весь февраль. Для вычисления дней, функция находит количество дней в предыдущем месяце относительно конечной даты, т.е. 28 (конечная дата принадлежит марту, предыдущий месяц — февраль, а в 2015г. в феврале было 28 дней). После этого отнимает день начала и прибавляет день конечной даты =

ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B6;-1);0))-ДЕНЬ(A6)+ДЕНЬ(B6)

, т.е. 28-30+16=14. На наш взгляд, между датами все же 1 полный месяц и все дни марта, т.е 16 дней, а не 14! Эта ошибка проявляется, когда в предыдущем месяце относительно конечной даты, дней меньше, чем дней начальной даты. Как выйти из этой ситуации?

Модифицируем формулу для расчета дней разницы без учета месяцев и лет:

=

ЕСЛИ(ДЕНЬ(A18)>ДЕНЬ(B18);ЕСЛИ((ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B18;-1);0))-ДЕНЬ(A18))<0;ДЕНЬ(B18);ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B18;-1);0))-ДЕНЬ(A18)+ДЕНЬ(B18));ДЕНЬ(B18)-ДЕНЬ(A18))

При применении новой функции необходимо учитывать, что разница в днях будет одинаковой для нескольких начальных дат (см. рисунок выше, даты 28-31.01.2015). В остальных случаях формулы эквивалентны. Какую формулу применять? Это решать пользователю в зависимости от условия задачи.

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

Примеры использования функции РАЗНДАТ

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

Пример 1.

Используя в качестве аргументов саму дату рождения и функцию СЕГОДНЯ(), а также значения «Y», «M» и «D» для единицы, получим следующий набор формул:

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

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

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

РАЗНДАТ.

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



Как точно посчитать сколько прошло времени: лет, месяцев и дней?

Пример 2. В документе записаны даты рождения сотрудников. Требуется выяснить, сколько лет, месяцев и дней исполнилось каждому из них на момент сегодняшнего дня.

Пример 2.

Используя уже знакомую формулу =РАЗНДАТ(B2;СЕГОДНЯ();»Y») для ячейки С2 получим количество полных лет возраста каждого из работников. Протянем эту формулу на весь столбец ниже.

СЕГОДНЯ.

Модифицировав формулу, использованную выше, заменяем значение единицы с «Y» на «YM». Итоговый вид формулы: =РАЗНДАТ(B2;СЕГОДНЯ();»YM»). Таким образом, мы получим на выходе количество полных месяцев возраста, не учитывая прошедшие полные года. Протянем формулу на весь столбец ниже.

Модифицировав формулу.

В конце нам понадобятся и дни, не вошедшие в месяц. Снова заменяем значение единицы с «YM» на «YD» и получим формулу следующего вида, в которой на выходе будет число дней: =РАЗНДАТ(B2;СЕГОДНЯ();»YD»).

дни не вошедшие в месяц.

Такое решение можно элегантно улучшить, если использовать функцию СПЕЦПИТЬ() и вызвать окошко аргументов, приведя функцию в следующий вид: =СЦЕПИТЬ(C2;» лет «;D2;» месяцев «;E2;» дня(-ей)»)

посчитать сколько прошло времени.

Как посчитать сроки окончания действия договора в Excel

Пример 3. В документе записаны даты заключения договоров сотрудников компании. По умолчанию договор заключается на 1 год. Требуется выяснить, сколько дней осталось до момента окончания трудового договора у каждого из сотрудников, чтобы подготовить новые экземпляры для продления договоров.

Пример 3.

С помощью функции РАЗНДАТ определим, сколько дней прошло с момента заключения трудового договора. В новом столбце для ячейки С2 используем формулу: =РАЗНДАТ(B2;СЕГОДНЯ();»d») и протянем ее на весь столбец ниже.

сколько дней прошло.

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

количество оставшихся дней.

Сначала мы определяем количество дней во году по дате (365 или 366) по формуле ЕСЛИ(ОСТАТ(ГОД(B2);4);365;366), а после вычитаем, чтобы узнать сколько осталось -C2.

Для удобства можно добавить еще одну колонку, в которой с помощью условий указать замечание для продления договора, если осталось меньше 10 дней до его окончания. Для ячейки E2 используем формулу:

сроки окончания действия договора.

В данной формуле используется функция ЕСЛИ с несколькими условиями. Если до конца срока больше 10-ти суток тогда формула возвращает значение «Действует», а если меньше 10-то тогда одно из условий:

  1. Если меньше 10-ти суток, но больше чем 0 – значение «Заканчивается».
  2. Если меньше чем 0, тогда «Просрочен».

Особенности использования функции РАЗНДАТ

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

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

Описание аргументов:

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

Примечание: аргументы нач_дата и кон_дата могут принимать как числовое значение, так и быть результатом какого-либо вычисления, производимого вне ячеек (например, функции ДАТА(), функции СЕГОДНЯ()).

Примечание: аргумент единица может принимать одно из шести значений:

  • — «Y»: в результате подсчетов будет выведено количество полных лет между начальными аргументами;
  • — “M”: в результате подсчетов будет выведено количество полных месяцев между начальными аргументами;
  • — «D»: в результате подсчетов будет выведено количество полных дней между начальными аргументами;
  • — «MD»: в результате подсчетов будет выведено количество дней между датами, не учитывая месяца, прошедшие между датами. Например, при вычислении разницы между 1 сентября 2018 года и 21 ноября 2018 года (что составляет 2 месяца и 20 дней) со значением “MD” будет возвращено значение 20, т.к. прошедшие 2 полных месяца не будут учтены;
  • — «YM»: в результате подсчетов будет выведено количество месяцев между датами, не учитывая года, прошедшие между датами. Например, при вычислении разницы между 1 сентября 2010 года и 1 ноября 2018 года (что составляет 8 лет и 2 месяца) со значением “YM” будет возвращено значение 2, т.к. прошедшие 8 полных лет не будут учтены;
  • — «YD «: в результате подсчетов будет выведено количество суток между датами, не учитывая года, прошедшие между датами. Например, при вычислении разницы между 1 сентября 2010 года и 2 сентября 2018 года (что составляет 8 лет и 1 день) со значением “YD” будет возвращено значение 1, т.к. прошедшие 8 полных лет не будут учтены.

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

  • Количество дней между двумя датами
  • Функция РАЗНДАТ в Excel — как посчитать количество лет, месяцев и дней между двумя датами
  • Сколько дней прошло с указанной даты до сегодняшнего дня

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

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

Кол-во дней = Более новая дата — Более старая дата

Рассмотрим на примере. 

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

Еще один способ, как в excel посчитать количество дней между двумя датами — при помощи функции РАЗНДАТ .

Это хитрая функция, которой нет в мастере формул, и excel не выдает подсказки при ее вводе. Но она прекрасно работает, если ввести ее вручную с клавиатуры.

Поэтому ее синтаксис придется просто запомнить или сохранить.

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

дата_начальная и дата_конечная — это две даты, между которыми нужно посчитать разницу. Здесь важно, чтобы конечная дата была больше (более новой), чем начальная — иначе будет ошибка.

аргумент — указывает, в каких единицах времени представить результат. 

Внимание: аргумент указывается в кавычках.

Он может иметь следующие значения:

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

Посмотрим пример работы функции РАЗНДАТ с теми же вводными.

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

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

Посчитаем количество месяцев между этими же датами. 

Как видите, результат вычисления функции РАЗНДАТ с аргументом М — 12 месяцев. Хотя если разделить количество дней от прошлых вычислений на 30 (среднее количество дней в месяце), то получится 13 месяцев. Все дело в том, что функция РАЗНДАТ учитывает количество полных месяцев — а здесь до полного 13-го месяца не хватает одного дня. Поэтому результат 12 месяцев. Учитывайте эту особенность данной функции.

excel количество дней между двумя датами
Посмотрим еще пример, как работает функция РАЗНДАТ с аргументом YD (разница в днях, игнорируя значения года). Получено значение 30 — именно столько дней прошло между датой 5 октября и 4 ноября без учета разницы в один год.

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

Особенность функции РАЗНДАТ — она выводит только целые значения. Например, РАЗНДАТ с аргументом “Y” покажет количество целых лет. Т.е. если между датами прошло меньше 1 года, то результат будет 0. 

Если нужно посчитать количество лет с десятыми долями, то можно количество дней разделить на 365 или использовать функцию ДОЛЯГОДА.

Сколько дней прошло с указанной даты до сегодняшнего дня

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

Функция СЕГОДНЯ не принимает на вход никаких аргументов, и ее синтаксис простой:

=СЕГОДНЯ()

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

Функцию СЕГОДНЯ часто используют, чтобы посчитать, сколько дней прошло с указанной даты до сегодняшнего дня.

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

Пример с использованием простого вычитания дат.

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

Пример с использованием функции РАЗНДАТ. Обратите внимание, что функция СЕГОДНЯ всегда указывается как второй аргумент.

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

В этой статье мы узнали, как в excel рассчитать количество дней между двумя датами.

Мы ВКонтакте

Вам может быть интересно:

Функция разндат в excel

СИНТАКСИС:
=РАЗНДАТ( нач_дата ; кон_дата ; код )

АРГУМЕНТЫ:
1. нач_дата — начальная дата.
2. кон_дата — конечная дата .
3. код — текстовое значение, которое указывает в каких единицах необходимо вернуть разницу дат.

Список допустимых значений аргумента:

ОГРАНИЧЕНИЯ:
Если аргумент кон_дата соответствует более ранней дате чем аргумент нач_дата функция вернёт значение ошибки #ЧИСЛО .
Если какой-либо из аргументов нач_дата или кон_дата не являются допустимой датой, то функция вернёт значение ошибки #ЗНАЧ.

ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ:


ФОРМУЛЫ МАССИВА:
Функция работает в формулах массива

ЭТОГО НЕТ В ОФИЦИАЛЬНОЙ СПРАВКЕ EXCEL:
Собственно говоря, самой функции РАЗНДАТ нет в справке Excel. Более того нет её и в мастере функций. И при наборе вручную первых букв названия функции Excel тоже не покажет подсказку в выпадающем списке. Объясняется это довольно просто. Эта функция изначально не является функцией Excel. Она всего лишь поддерживается Excel для совместимости с другими системами электронных таблиц. В Excel эта функция попала из э лектронных таблиц Lotus 1-2-3.

Функция РАЗНДАТ() — Вычисление разности двух дат в днях, месяцах, годах в MS EXCEL

Если Вам требуется рассчитать стаж (страховой) в годах, месяцах, днях, то, пожалуйста, воспользуйтесь расчетами выполненными в статье Расчет страхового (трудового) стажа в MS EXCEL.

Функции РАЗНДАТ( ) нет в справке EXCEL2007 и в Мастере функций (SHIFT+F3), но она работает, хотя и не без огрех.

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

РАЗНДАТ(начальная_дата; конечная_дата; способ_измерения)

Аргумент начальная_дата должна быть раньше аргумента конечная_дата.

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

Значение

Описание

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

разница в полных годах

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

разница в днях без учета месяцев и лет
ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение, если день начальной даты больше дня конечной даты (например, в EXCEL 2007 при сравнении дат 28.02.2009 и 01.03.2009 результат будет 4 дня, а не 1 день). Избегайте использования функции с этим аргументом. Альтернативная формула приведена ниже.

разница в днях без учета лет
ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение. Избегайте использования функции с этим аргументом.

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

В файле примера значение аргумента начальная_дата помещена в ячейке А2, а значение аргумента конечная_дата – в ячейке В2.

1. Разница в днях («d»)

Формула =РАЗНДАТ(A2;B2;»d») вернет простую разницу в днях между двумя датами.

Пример1: начальная_дата 25.02.2007, конечная_дата 26.02.2007
Результат: 1 (день).

Этот пример показыват, что при подсчете стажа необходимо использовать функцию РАЗНДАТ() с осторожностью. Очевидно, что если сотрудник работал 25 и 26 февраля, то отработал он 2 дня, а не 1. То же относится и к расчету полных месяцев (см. ниже).

Пример2: начальная_дата 01.02.2007, конечная_дата 01.03.2007
Результат: 28 (дней)

Пример3: начальная_дата 28.02.2008, конечная_дата 01.03.2008
Результат: 2 (дня), т.к. 2008 год — високосный

Эта формула может быть заменена простым выражением =ЦЕЛОЕ(B2)-ЦЕЛОЕ(A2) . Функция ЦЕЛОЕ() округляет значение до меньшего целого и использована для того случая, если исходные даты введены вместе с временем суток ( РАЗНДАТ() игнорирует время, т.е. дробную часть числа, см. статью Как Excel хранит дату и время).

Примечание: Если интересуют только рабочие дни, то количество рабочих дней между двумя датами можно посчитать по формуле =ЧИСТРАБДНИ(B2;A2)

2. Разница в полных месяцах («m»)

Формула =РАЗНДАТ(A2;B2;»m») вернет количество полных месяцев между двумя датами.

Пример1: начальная_дата 01.02.2007, конечная_дата 01.03.2007
Результат: 1 (месяц)

Пример2: начальная_дата 01.03.2007, конечная_дата 31.03.2007
Результат: 0

При расчете стажа, считается, что сотрудник отработавший все дни месяца — отработал 1 полный месяц. Функция РАЗНДАТ() так не считает!

Пример3: начальная_дата 01.02.2007, конечная_дата 01.03.2009
Результат: 25 месяцев

Формула может быть заменена альтернативным выражением:
=12*(ГОД(B2)-ГОД(A2))-(МЕСЯЦ(A2)-МЕСЯЦ(B2))-(ДЕНЬ(B2) ДЕНЬ(B2);
ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B2;-1);0))-ДЕНЬ(A2)+ДЕНЬ(B2);
ДЕНЬ(B2)-ДЕНЬ(A2))

Данная формула лишь эквивалетное (в большинстве случаев) выражение для РАЗНДАТ() с параметром md. О корректности этой формуле читайте в разделе «Еще раз о кривизне РАЗНДАТ()» ниже.

6. Разница в днях без учета лет («yd»)

Формула =РАЗНДАТ(A2;B2;»yd») вернет количество дней между двумя датами без учета лет. Использовать ее не рекомендуется по причинам, изложенным в предыдущем пункте.

Результат, возвращаемый формулой =РАЗНДАТ(A2;B2;»yd») зависит от версии EXCEL.

Формула может быть заменена альтернативным выражением:
=ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))>B2;
B2-ДАТА(ГОД(B2)-1;МЕСЯЦ(A2);ДЕНЬ(A2));
B2-ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2)))

Еще раз о кривизне РАЗНДАТ()

Найдем разницу дат 16.03.2015 и 30.01.15. Функция РАЗНДАТ() с параметрами md и ym подсчитает, что разница составляет 1 месяц и 14 дней. Так ли это на самом деле?

Имея формулу, эквивалентную РАЗНДАТ() , можно понять ход вычисления. Очевидно, что в нашем случае количество полных месяцев между датами = 1, т.е. весь февраль. Для вычисления дней, функция находит количество дней в предыдущем месяце относительно конечной даты, т.е. 28 (конечная дата принадлежит марту, предыдущий месяц — февраль, а в 2015г. в феврале было 28 дней). После этого отнимает день начала и прибавляет день конечной даты = ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B6;-1);0))-ДЕНЬ(A6)+ДЕНЬ(B6) , т.е. 28-30+16=14. На наш взгляд, между датами все же 1 полный месяц и все дни марта, т.е 16 дней, а не 14! Эта ошибка проявляется, когда в предыдущем месяце относительно конечной даты, дней меньше, чем дней начальной даты. Как выйти из этой ситуации?

Модифицируем формулу для расчета дней разницы без учета месяцев и лет:

Microsoft Excel

трюки • приёмы • решения

Как в таблицах Excel использовать функцию РАЗНДАТ

В статье «Как в Excel рассчитать возраст человека» я представил формулу, которая использует функцию РАЗНДАТ, вычисляющую разницу между двумя датами и выражающую результат в виде месяцев, дней или лет.

Эта полезная функция, которая не была документирована в справочной системе, является одной из маленьких тайн Excel, но ее используют курсы управления проектами. Хотя в справочной системе Excel 2000 имеется запись для РАЗНДАТ, эта функция не была документирована в более ранних или поздних версиях.

Старые программы Lotus 1-2-3 представили функцию РАЗНДАТ, и Excel, вероятно, включил ее в целях совместимости. Однако почему-то компания Microsoft не хочет признавать ее существования. Возможно, юристы каким-то образом вовлечены в эту тайну.

UPD: на сайте поддержки MS Office все-таки нашлась страничка с описанием функции РАЗНДАТ.

В любом случае в этой статье я опишу функцию РАЗНДАТ и расскажу вам то, о чем Microsoft старательно молчит. Синтаксис функции РАЗНДАТ следующий: =РАЗНДАТ(Дата1; Дата2;Интервал) .

Дата1 и Дата2 — стандартные даты (или ссылки на ячейки, содержащие даты). Дата1 должна быть более ранней, чем Дата2 (или равной ей). Третий аргумент — Интервал — представляет собой текстовую строку, определяющую единицу времени, которая будет возвращена.

Корректные коды интервала представлены в этом списке:

  • m — количество полных месяцев, прошедших от Дата1 до Дата2;
  • d — количество дней между Дата1 и Дата2;
  • е — количество полных лет, прошедших от Дата1 до Дата2;
  • уш — количество месяцев между Дата1 и Дата2; интервал исключает года, поэтому работает так же, как будто две даты идут в одном и том же году;
  • yd — количество дней между Дата1 и Дата2; интервал также исключает года и работает так, как будто Дата1 и Дата2 идут в одном и том же году;
  • md — количество дней между Дата1 и Дата2; интервал исключает и месяцы, и года, поэтому работает, как будто Дата1 и Дата2 идут в одном и том же месяце и году.

На рис. 100.1 показано несколько примеров использования функции РАЗНДАТ с каждым из ее возможных аргументов интервала. Формула в D2 , которая была скопирована в ячейки, расположенные ниже, будет следующей: =РАЗНДАТ(A2;B2;C2) .

Рис. 100.1. Примеры использования функции РАЗНДАТ

Пример функции РАЗНДАТ для расчета времени между датами в Excel

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

Примеры использования функции РАЗНДАТ

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

Используя в качестве аргументов саму дату рождения и функцию СЕГОДНЯ(), а также значения «Y», «M» и «D» для единицы, получим следующий набор формул:

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

Как точно посчитать сколько прошло времени: лет, месяцев и дней?

Пример 2. В документе записаны даты рождения сотрудников. Требуется выяснить, сколько лет, месяцев и дней исполнилось каждому из них на момент сегодняшнего дня.

Используя уже знакомую формулу =РАЗНДАТ(B2;СЕГОДНЯ();»Y») для ячейки С2 получим количество полных лет возраста каждого из работников. Протянем эту формулу на весь столбец ниже.

Модифицировав формулу, использованную выше, заменяем значение единицы с «Y» на «YM». Итоговый вид формулы: =РАЗНДАТ(B2;СЕГОДНЯ();»YM»). Таким образом, мы получим на выходе количество полных месяцев возраста, не учитывая прошедшие полные года. Протянем формулу на весь столбец ниже.

В конце нам понадобятся и дни, не вошедшие в месяц. Снова заменяем значение единицы с «YM» на «YD» и получим формулу следующего вида, в которой на выходе будет число дней: =РАЗНДАТ(B2;СЕГОДНЯ();»YD»).

Такое решение можно элегантно улучшить, если использовать функцию СПЕЦПИТЬ() и вызвать окошко аргументов, приведя функцию в следующий вид: =СЦЕПИТЬ(C2;» лет «;D2;» месяцев «;E2;» дня(-ей)»)

Как посчитать сроки окончания действия договора в Excel

Пример 3. В документе записаны даты заключения договоров сотрудников компании. По умолчанию договор заключается на 1 год. Требуется выяснить, сколько дней осталось до момента окончания трудового договора у каждого из сотрудников, чтобы подготовить новые экземпляры для продления договоров.

С помощью функции РАЗНДАТ определим, сколько дней прошло с момента заключения трудового договора. В новом столбце для ячейки С2 используем формулу: =РАЗНДАТ(B2;СЕГОДНЯ();»d») и протянем ее на весь столбец ниже.

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

Сначала мы определяем количество дней во году по дате (365 или 366) по формуле ЕСЛИ(ОСТАТ(ГОД(B2);4);365;366), а после вычитаем, чтобы узнать сколько осталось -C2.

Для удобства можно добавить еще одну колонку, в которой с помощью условий указать замечание для продления договора, если осталось меньше 10 дней до его окончания. Для ячейки E2 используем формулу:

10;»Действует»;ЕСЛИ(D2

В данной формуле используется функция ЕСЛИ с несколькими условиями. Если до конца срока больше 10-ти суток тогда формула возвращает значение «Действует», а если меньше 10-то тогда одно из условий:

  1. Если меньше 10-ти суток, но больше чем 0 – значение «Заканчивается».
  2. Если меньше чем 0, тогда «Просрочен».

Особенности использования функции РАЗНДАТ

  • — нач_дата : дата, от которой будет вестись расчет;
  • — кон_дата : дата, до которой будет вестись расчет;
  • — единица : аргумент, указывающий на величину, в которой будет производиться расчет.

Примечание: аргументы нач_дата и кон_дата могут принимать как числовое значение, так и быть результатом какого-либо вычисления, производимого вне ячеек (например, функции ДАТА(), функции СЕГОДНЯ()).

Примечание: аргумент единица может принимать одно из шести значений:

  • — «Y»: в результате подсчетов будет выведено количество полных лет между начальными аргументами;
  • — “M”: в результате подсчетов будет выведено количество полных месяцев между начальными аргументами;
  • — «D»: в результате подсчетов будет выведено количество полных дней между начальными аргументами;
  • — «MD»: в результате подсчетов будет выведено количество дней между датами, не учитывая месяца, прошедшие между датами. Например, при вычислении разницы между 1 сентября 2018 года и 21 ноября 2018 года (что составляет 2 месяца и 20 дней) со значением “MD” будет возвращено значение 20, т.к. прошедшие 2 полных месяца не будут учтены;
  • — «YM»: в результате подсчетов будет выведено количество месяцев между датами, не учитывая года, прошедшие между датами. Например, при вычислении разницы между 1 сентября 2010 года и 1 ноября 2018 года (что составляет 8 лет и 2 месяца) со значением “YM” будет возвращено значение 2, т.к. прошедшие 8 полных лет не будут учтены;
  • — «YD «: в результате подсчетов будет выведено количество суток между датами, не учитывая года, прошедшие между датами. Например, при вычислении разницы между 1 сентября 2010 года и 2 сентября 2018 года (что составляет 8 лет и 1 день) со значением “YD” будет возвращено значение 1, т.к. прошедшие 8 полных лет не будут учтены.

Функция DATEDIF (РАЗНДАТ) в Excel. Как использовать?

Функция DATEDIF (РАЗНДАТ) в Excel используется для подсчета количества лет, месяцев или дней между двумя датами. Хороший пример – подсчет возраста.

Что возвращает функция

Число, обозначающее количество лет/месяцев/дней между двумя датами. Какие значения будут отображаться (год, месяц или дни) зависит от того, что будет указано вами в атрибутах функции.

=DATEDIF(start_date,end_date,unit) – английская версия

=РАЗНДАТ(нач_дата ; кон_дата ; единица) – русская версия

Аргументы функции

  • start_date (нач_дата): дата, с которой начинается вычисление разницы во времени между двумя датами. Дата может быть указана как текст в кавычках, числовое значение, или результат какого-либо вычисления (например в функции ДАТА());
  • end_date (кон_дата): дата, на которой вычисление разницы во времени между двумя датами будет окончено. Она, также, может быть указана как текст в кавычках, числовое значение, или результат какого-либо вычисления;
  • unit (единица): Этот аргумент определяет в каком измерении будет отображена разница между двумя датами (год, месяц, день). Существует 6 различных типов отражения данных:
  • “Y” – возвращает данные в количестве лет между двумя датами;
  • “M” – возвращает данные в количестве месяцев между двумя датами;
  • “D” – возвращает данные в количестве дней между двумя данными;
  • “MD” – возвращает данные в количестве дней между двумя датами, но не учитывает целые годы, месяца, которые уже прошли при расчете данных. Например, если вы рассчитываете количество дней между двумя датами: 1 Января 2017 и 3 Марта 2017, функция выдаст значение “2”, так как не будет учитывать два прошедших полных месяцев (Январь, Февраль);
  • “YM” – возвращает данные в количестве месяцев между двумя датами, но не учитывает целые годы, которые уже прошли между двумя расчетными данными;
  • “YD” – возвращает данные в количестве дней между двумя датами, но не учитывает целые годы, которые уже прошли между двумя расчетными датами.

Дополнительная информация

  • При вводе функции в ячейку, она не отображается в быстром меню выбора функций. Тем не менее функция работает во всех версиях Excel. Важно знать аргументы функции и как ими пользоваться;
  • Данные даты в функции могут быть введены как:
    – дата указанная в виде текста в кавычках;
    – число;
    – как результат вычисления, формулы, функции.

Примеры использования функции РАЗНДАТ в Excel

Пример №1. Подсчет количества лет между двумя датами

На примере выше, формула возвращает количество лет между двумя датами. Например, функция вернет значение “27” если вы захотите посчитать количество полных лет между двумя датами 19 июня 1989 года и 26 марта 2017 года. Система подсчитывает количество полных лет и игнорирует количество месяцев и дней между датами.

Пример №2. Подсчет количества месяцев между двумя датами

На примере выше, функция DATEDIF (РАЗНДАТ) в Excel возвращает количество полных месяцев между двумя датами – 19 июня 1989 года и 26 марта 2017 года.

Функция возвращает значение “333”, что является количеством полных месяцев между датами указанными выше.

Пример №3. Подсчет количества дней между двумя датами

На примере выше, функция DATEDIF (РАЗНДАТ) в Excel возвращает количество дней между двумя датами. Например, функция возвращает значение “10142” дня между двумя датами – 19 июня 1989 года и 26 марта 2017 года.

Если вы хотите посчитать количество дней между двумя датами, исключая количество лет, которые уже завершены, вам нужно использовать аргумент “YD” в качестве третьего (пример на рисунке ниже):

В приведенном выше примере он возвращает значение “280”, то есть число дней между днями, исключая 27 полных лет.

Если вы хотите посчитать количество дней между двумя датами, исключая количество полных лет и месяцев, используйте атрибут “MD” в качестве третьего аргумента (как показано на рис. ниже):

На примере выше функция возвращает значение “7” означающие количество дней между двумя днями “19” и “26” число, исключая значения лет и месяцев.

Содержание

  • 1 Что возвращает функция
  • 2 Синтаксис
  • 3 Аргументы функции
  • 4 Дополнительная информация
  • 5 2 популярных способа сравнения 2 дат в Excel
    • 5.1 Первая дата больше второй, или нет
    • 5.2 Функция ЕСЛИ, значение ИСТИНА или ЛОЖЬ
  • 6 Функция РАЗНДАТ – разность двух дат в днях, месяцах и годах
    • 6.1 Пример №1. Подсчет количества лет между двумя датами
    • 6.2 Разница дат в полных месяцах
    • 6.3 Разница в днях без учета лет
    • 6.4 Количество рабочих дней между двумя датами
    • 6.5 Сдвиг даты на заданное количество дней
    • 6.6 Сдвиг даты на заданное количество рабочих дней
    • 6.7 Вычисление дня недели
    • 6.8 Вычисление временных интервалов
  • 7 Еще раз о кривизне РАЗНДАТ()
  • 8 Формула разница дат в Excel

Что возвращает функция

Число, обозначающее количество лет/месяцев/дней между двумя датами. Какие значения будут отображаться (год, месяц или дни) зависит от того, что будет указано вами в атрибутах функции.

Синтаксис

=DATEDIF(start_date,end_date,unit) – английская версия

=РАЗНДАТ(нач_дата;кон_дата;единица) – русская версия

Аргументы функции

  • start_date (нач_дата): дата, с которой начинается вычисление разницы во времени между двумя датами. Дата может быть указана как текст в кавычках, числовое значение, или результат какого-либо вычисления (например в функции ДАТА());
  • end_date (кон_дата): дата, на которой вычисление разницы во времени между двумя датами будет окончено. Она, также, может быть указана как текст в кавычках, числовое значение, или результат какого-либо вычисления;
  • unit (единица): Этот аргумент определяет в каком измерении будет отображена разница между двумя датами (год, месяц, день). Существует 6 различных типов отражения данных:
  • “Y” – возвращает данные в количестве лет между двумя датами;
  • “M” – возвращает данные в количестве месяцев между двумя датами;
  • “D” – возвращает данные в количестве дней между двумя данными;
  • “MD” – возвращает данные в количестве дней между двумя датами, но не учитывает целые годы, месяца, которые уже прошли при расчете данных. Например, если вы рассчитываете количество дней между двумя датами: 1 Января 2017 и 3 Марта 2017, функция выдаст значение “2”, так как не будет учитывать два прошедших полных месяцев (Январь, Февраль);
  • “YM” – возвращает данные в количестве месяцев между двумя датами, но не учитывает целые годы, которые уже прошли между двумя расчетными данными;
  • “YD” – возвращает данные в количестве дней между двумя датами, но не учитывает целые годы, которые уже прошли между двумя расчетными датами.

Дополнительная информация

  • При вводе функции в ячейку, она не отображается в быстром меню выбора функций. Тем не менее функция работает во всех версиях Excel. Важно знать аргументы функции и как ими пользоваться;
  • Данные даты в функции могут быть введены как:
    – дата указанная в виде текста в кавычках;
    – число;
    – как результат вычисления, формулы, функции.

2 популярных способа сравнения 2 дат в Excel

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

Первая дата больше второй, или нет

В этом случае нужно использовать аналогичную формулу, которая используется для проверки чисел: =A1>A2. Если эта проверка подтверждается, то в ячейку, куда была записана эта формула, возвращается значение “ИСТИНА”. Если же первое число меньше второго, то тогда будет записано “ЛОЖЬ”. Аналогично, только зеркально противоположно с формулой =A1

Функция ЕСЛИ, значение ИСТИНА или ЛОЖЬ

Это уже более сложный вариант, который дает возможность не только говорить, действительно ли одна дата больше другой, но и указывать, на какое количество дней. Чтобы это сделать, необходимо нажать по ячейке и записать туда формулу =ЕСЛИ(A2>B2;»Первая дата больше второй на»&» «&A2-B2&» «&»дней»;»Первая дата меньше второй на»&» «&B2-A2&» «&»дней»)

Как в Excel сравнить 2 даты между собой - простая инструкция
1

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

Функция РАЗНДАТ – разность двух дат в днях, месяцах и годах

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

Ее синтаксис элементарный.

РАЗНДАТ(начальная_дата; конечная_дата; способ_измерения)

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

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

Пример №1. Подсчет количества лет между двумя датами

DATEDIF (РАЗНДАТ) в Excel

На примере выше, формула возвращает количество лет между двумя датами. Например, функция вернет значение “27” если вы захотите посчитать количество полных лет между двумя датами 19 июня 1989 года и 26 марта 2017 года. Система подсчитывает количество полных лет и игнорирует количество месяцев и дней между датами.

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

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

То есть, формула следующая.

=РАЗНДАТ(A2;B2;”m”)

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

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

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

Как в Excel сравнить 2 даты между собой - простая инструкция
1

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

Количество рабочих дней между двумя датами

Здесь ситуация чуть сложнее. Необходимо не учитывать субботы с воскресеньями и праздники. Для такого расчета лучше воспользоваться функцией ЧИСТРАБДНИ (NETWORKDAYS) из категории Дата и время. В качестве аргументов этой функции необходимо указать начальную и конечную даты и ячейки с датами выходных (государственных праздников, больничных дней, отпусков, отгулов и т.д.):

как сделать сравнение дат в excel

Примечание: Эта функция появилась в стандартном наборе функций Excel начиная с 2007 версии. В более древних версиях сначала необходимо подключить надстройку Пакета анализа. Для этого идем в меню Сервис — Надстройки (Tools — Add-Ins) и ставим галочку напротив Пакет анализа (Analisys Toolpak). После этого в Мастере функций в категории Дата и время появится необходимая нам функция ЧИСТРАБДНИ (NETWORKDAYS).

Сдвиг даты на заданное количество дней

Поскольку одни сутки в системе отсчета даты Excel принимаются за единицу (см.выше), то для вычисления даты, отстоящей от заданной на, допустим, 20 дней, достаточно прибавить к дате это число.

Сдвиг даты на заданное количество рабочих дней

Эту операцию осуществляет функция РАБДЕНЬ (WORKDAY). Она позволяет вычислить дату, отстоящую вперед или назад относительно начальной даты на нужное количество рабочих дней (с учетом выходных суббот и воскресений и государственных праздинков). Использование этой функции полностью аналогично применению функции ЧИСТРАБДНИ(NETWORKDAYS) описанной выше.

Вычисление дня недели

Вас не в понедельник родили? Нет? Уверены? Можно легко проверить при помощи функции ДЕНЬНЕД (WEEKDAY) из категории Дата и время.

как сделать сравнение дат в excel

Первый аргумент этой функции — ячейка с датой, второй — тип отсчета дней недели (самый удобный — 2).  

Вычисление временных интервалов

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

Нюанс здесь только один. Если при сложении нескольких временных интервалов сумма получилась больше 24 часов, то Excel обнулит ее и начнет суммировать опять с нуля. Чтобы этого не происходило, нужно применить к итоговой ячейке формат 37:30:55:

как сделать сравнение дат в excel

Еще раз о кривизне РАЗНДАТ()

Найдем разницу дат 16.03.2015 и 30.01.15. Функция РАЗНДАТ() с параметрами md и ym подсчитает, что разница составляет 1 месяц и 14 дней. Так ли это на самом деле?

Вычисление разности дат в Microsoft Excel. Функция DATEDIF (РАЗНДАТ) в Excel. Как использовать?

Имея формулу, эквивалентную РАЗНДАТ() , можно понять ход вычисления. Очевидно, что в нашем случае количество полных месяцев между датами = 1, т.е. весь февраль. Для вычисления дней, функция находит количество дней в предыдущем месяце относительно конечной даты, т.е. 28 (конечная дата принадлежит марту, предыдущий месяц — февраль, а в 2015г. в феврале было 28 дней). После этого отнимает день начала и прибавляет день конечной даты = ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B6;-1);0))-ДЕНЬ(A6)+ДЕНЬ(B6) , т.е. 28-30+16=14. На наш взгляд, между датами все же 1 полный месяц и все дни марта, т.е 16 дней, а не 14! Эта ошибка проявляется, когда в предыдущем месяце относительно конечной даты, дней меньше, чем дней начальной даты.

Формула возвращает разницу дат между сегодняшней и установленной планом в днях. Для решения данной задачи используется функция РАЗНДАТ в Excel: где найти эту формулу?

Данную функцию вы не найдете в мастере функций и даже на панели «ФОРМУЛЫ». Ее всегда нужно вводить вручную. Первым аргументом функции всегда должна быть новейшая дата, а вторым всегда – старшая дата. Третий аргумент функции определяет единицу измерения количества, которое возвращает функция =РАЗНДАТ(). В данном случае это символ «d» – дней. Это значит, что функция возвращает количество дней. Дальше следует оператор <7. То есть формула проверяет, если функция возвращает число меньше чем 7, то формула возвращает значение ИСТИНА и к текущей ячейке применяется условное форматирование. Ссылки на ячейки в первом аргумент абсолютная (значение неизменяемое), а во втором аргументе – относительная, так как проверятся будут несколько ячеек в столбце C.

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

Цвет форматирования для второго правила можно задать желтый. К одному и тому же диапазону должно быть применено 2 правила условного форматирования. Чтобы проверить выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление правилами». Так как у нас сначала выполняется верхнее правило следует изменить их порядок в появившемся окне: «Диспетчер правил условного форматирования». Иначе все выделенные задачи будут иметь желтую заливку ячеек.

Полезный совет! Если к одному и тому же диапазону присвоено много правил – соблюдайте иерархию приоритетов порядка их выполнения в диспетчере управления правилами. Чем выше правило, тем выше его приоритет выполнения по отношению к другим расположенных ниже под ним.

Источники

  • https://excelhack.ru/funkciya-datedif-razndat-v-excel/
  • https://office-guru.ru/excel/data-vremja/kak-v-excel-sravnit-2-daty-mezhdu-soboj-prostaya-instrukciya.html
  • http://word-office.ru/kak-sdelat-sravnenie-dat-v-excel.html
  • https://excelka.ru/voprosy/kak-v-excel-sravnit-dve-daty.html
  • https://exceltable.com/formatirovanie/raznica-mejdu-datami

В статье «Как в Excel рассчитать возраст человека» я представил формулу, которая использует функцию РАЗНДАТ, вычисляющую разницу между двумя датами и выражающую результат в виде месяцев, дней или лет.

Эта полезная функция, которая не была документирована в справочной системе, является одной из маленьких тайн Excel, но ее используют курсы управления проектами. Хотя в справочной системе Excel 2000 имеется запись для РАЗНДАТ, эта функция не была документирована в более ранних или поздних версиях.

Старые программы Lotus 1-2-3 представили функцию РАЗНДАТ, и Excel, вероятно, включил ее в целях совместимости. Однако почему-то компания Microsoft не хочет признавать ее существования. Возможно, юристы каким-то образом вовлечены в эту тайну.

UPD: на сайте поддержки MS Office все-таки нашлась страничка с описанием функции РАЗНДАТ.

В любом случае в этой статье я опишу функцию РАЗНДАТ и расскажу вам то, о чем Microsoft старательно молчит. Синтаксис функции РАЗНДАТ следующий: =РАЗНДАТ(Дата1; Дата2;Интервал).

Дата1 и Дата2 — стандартные даты (или ссылки на ячейки, содержащие даты). Дата1 должна быть более ранней, чем Дата2 (или равной ей). Третий аргумент — Интервал — представляет собой текстовую строку, определяющую единицу времени, которая будет возвращена.

Корректные коды интервала представлены в этом списке:

  • m — количество полных месяцев, прошедших от Дата1 до Дата2;
  • d — количество дней между Дата1 и Дата2;
  • е — количество полных лет, прошедших от Дата1 до Дата2;
  • уш — количество месяцев между Дата1 и Дата2; интервал исключает года, поэтому работает так же, как будто две даты идут в одном и том же году;
  • yd — количество дней между Дата1 и Дата2; интервал также исключает года и работает так, как будто Дата1 и Дата2 идут в одном и том же году;
  • md — количество дней между Дата1 и Дата2; интервал исключает и месяцы, и года, поэтому работает, как будто Дата1 и Дата2 идут в одном и том же месяце и году.

На рис. 100.1 показано несколько примеров использования функции РАЗНДАТ с каждым из ее возможных аргументов интервала. Формула в D2, которая была скопирована в ячейки, расположенные ниже, будет следующей: =РАЗНДАТ(A2;B2;C2).

Рис. 100.1. Примеры использования функции РАЗНДАТ

Рис. 100.1. Примеры использования функции РАЗНДАТ

Примеры использования функции РАЗНДАТ

Нач_дата Кон_дата Формула Описание (результат)
01.01.2001 01.01.2003 =РАЗНДАТ(Нач_дата;Кон_дата;"Г") Два полных года в периоде (2)
01.06.2001 15.08.2002 =РАЗНДАТ(Нач_дата;Кон_дата;"Д") 440 дней между 1 Июня 2001 года и 15 Августа 2002 года (440)
01.06.2001 15.08.2002 =РАЗНДАТ(Нач_дата;Кон_дата;"ГД") 75 дней между 1 Июня и 15 Августа, исключая года дат (75)
01.06.2001 15.08.2002 =РАЗНДАТ(Нач_дата;Кон_дата;"МД") Разница между 1 и 15 — дня нач_дата и дня кон_дата — исключая месяцы и годы дат (14)

В этом учебном материале вы узнаете, как использовать Excel функцию РАЗНДАТ с синтаксисом и примерами.

Описание

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

Синтаксис

Синтаксис функции РАЗНДАТ в Microsoft Excel:

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

Аргументы или параметры

нач_дата и кон_дата
Две даты, между которыми нужно рассчитать разницу.
единица
Интервал времени, используемый для вычисления разницы между датами нач_дата и кон_дата. Ниже приведен список допустимых значений интервала.

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

Возвращаемое значение

Функция РАЗНДАТ возвращает числовое значение.

Применение

  • Excel 2003, Excel 2000

Тип функции

  • Функция рабочего листа (WS)

Пример (как функция рабочего листа)

Рассмотрим несколько примеров функции РАЗНДАТ чтобы понять, как использовать Excel функцию РАЗНДАТ в качестве функции рабочего листа в Microsoft Excel:

Hа основе электронной таблицы Excel, приведенной выше, будут возвращены следующие примеры функции РАЗНДАТ:

=РАЗНДАТ(A1;A2;«Y»)

Результат: 1

=РАЗНДАТ(A1; A2; «D»)

Результат: 365

=РАЗНДАТ(«01.12.2020»; «31.12.2020»; «YD»)

Результат: 30

См. еще пример как вычислить месяцы между двумя датами.

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

Вопрос: В Microsoft Excel у меня есть ячейка, которая дает результат возраста человека по следующей формуле:

=РАЗНДАТ(B5;СЕГОДНЯ();«Y») & » «

Результат работает нормально. Затем я хочу взять ответ, и, если возраст 11 лет или больше, дать результат 250. Если возраст 10 лет и меньше, дать результат 200.
Я пробовал использовать формулу ЕСЛИ, но она не работает с ячейкой с формулой РАЗНДАТ в качестве значения. Я могу заставить формулу ЕСЛИ работать с пустыми ячейками, если я введу возраст вручную в виде числа, но не если я использую результат из ячейки РАЗНДАТ.

Ответ: Первое, что я замечаю, глядя на вашу формулу, это то, что у вас есть два компонента вашей формулы. Первая часть вашей формулы — это функция РАЗНДАТ:

=РАЗНДАТ(B5;СЕГОДНЯ();«Y»)

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

Это пробел в конце, вероятно, является причиной вашей проблемы, поскольку ваша формула возвращает не чистое число, а возраст с объединенным пробелом в конце.
Когда вы проверяете свой возраст с помощью функции ЕСЛИ, убедитесь, что вы не включили конкатенированный пробел в саму формулу ЕСЛИ.
Вы можете попробовать следующую формулу:

=ЕСЛИ(РАЗНДАТ(B5;СЕГОДНЯ();«Y»)>=11;250;200) & » «

Эта формула вернет 250 или 200 в зависимости от возраста, а затем объединит пробел в конце. Обратите внимание, что &" " не входит в саму функцию ЕСЛИ.

Вопрос: В Excel у меня есть рабочее поле, которое является ячейкой C4. Мне нужно знать, как вернуть ноль (0), если рабочее поле «пустое». У меня есть следующая формула:

=РАЗНДАТ(C4;СЕГОДНЯ(); «Y»)

У меня будут случаи, когда поле данных C4 будет пустым, и в этих случаях мне нужно, чтобы формула возвращала ноль вместо 115. Пожалуйста, помогите!

Ответ: Вы можете использовать функцию ЕПУСТО, чтобы проверить, является ли значение ячейки пустым, как показано ниже.:
=ЕСЛИ(ЕПУСТО(C4);0;(РАЗНДАТ(C4;СЕГОДНЯ();»Y»)))
Эта формула вернет 0, если C4 пуст. В противном случае она вернет вычисление РАЗНДАТ.

Понравилась статья? Поделить с друзьями:
  • Разница дата время excel
  • Разндат в excel дни
  • Разница между датами excel 2007
  • Разница дат с часами в excel
  • Разндат в excel дней