Вычисление разности двух дат
Используйте функцию РАЗНДАТ, если нужно вычислить разницу двух дат. Сначала поместите дату начала в одну ячейку, а дату окончания — в другую. Затем введите формулу, например одну из следующих.
Предупреждение: Если значение нач_дата больше значения кон_дата, возникнет ошибка #ЧИСЛО!
Разница в днях
В этом примере дата начала находится в ячейке D9, а дата окончания — в ячейке E9. Формула находится в ячейке F9. Параметр «д» возвращает количество полных дней между двумя датами.
Разница в неделях
В этом примере дата начала находится в ячейке D13, а дата окончания — в ячейке E13. Параметр «д» возвращает количество дней. Но обратите внимание на /7 в конце. Это делит количество дней на 7, так как в неделе содержится 7 дней. Обратите внимание, что этот результат также должен быть представлен в числовом формате. Нажмите клавиши CTRL+1. Затем щелкните Числовой > Число десятичных знаков: 2.
Разница в месяцах
В этом примере дата начала находится в ячейке D5, а дата окончания — в ячейке E5. В формуле «м» возвращает количество полных месяцев между двумя днями.
Разница в годах
В этом примере дата начала находится в ячейке D2, а дата окончания — в ячейке E2. Параметр «г» возвращает количество полных лет между двумя днями.
Расчет возраста в накопленных годах, месяцах и днях
Вы также можете вычислить возраст или время работы другого человека. Результат может выглядеть так: «2 года, 4 месяца, 5 дней».
1. Используйте функцию РАЗНДАТ, чтобы найти общее количество лет.
В этом примере дата начала находится в ячейке D17, а дата окончания — в ячейке E17. В формуле параметр «г» возвращает количество полных лет между двумя днями.
2. Снова используйте функцию РАЗНДАТ с «гм», чтобы найти месяцы.
В другой ячейке используйте функцию РАЗНДАТ с параметром «гм». Параметр «гм» возвращает количество оставшихся месяцев с последнего полного года.
3. Используйте другую формулу для поиска дней.
Теперь нужно найти количество оставшихся дней. Для этого мы напишем формулу другого типа, показанную выше. Эта формула вычитает первый день окончания месяца (01.05.2016) из исходной даты окончания в ячейке E17 (06.05.2016). Вот как это делается: сначала функция ДАТА создает дату 01.05.2016. Она создается с помощью года в ячейке E17 и месяца в ячейке E17. 1 обозначает первый день месяца. Результатом функции ДАТА будет 01.05.2016. Затем мы вычитаем эту дату из исходной даты окончания в ячейке E17 (06.05.2016), в результате чего получается 5 дней.
Предупреждение: Не рекомендуется использовать аргумент «мд» функции РАЗНДАТ, так как он может вычислять неточные результаты.
4. Необязательно: объединение трех формул в одну.
Все три вычисления можно поместить в одну ячейку, как в этом примере. Используйте амперсанды, кавычки и текст. Эту формулу дольше вводить, но она содержит в себе все вычисления. Совет. Нажмите клавиши ALT+ВВОД, чтобы ввести разрывы строк в формулу. Это упрощает чтение. Кроме того, если вы не видите всю формулу, нажмите клавиши CTRL+SHIFT+U.
Скачивание примеров
Вы можете скачать образец книги со всеми примерами из этой статьи. Вы можете воспользоваться ими или создать собственные формулы.
Скачать примеры вычислений дат
Другие вычисления даты и времени
Как показано выше, функция РАЗНДАТ вычисляет разницу между датой начала и датой окончания. Однако вместо ввода определенных дат в формуле можно также использовать функцию СЕГОДНЯ(). При использовании функции СЕГОДНЯ() Excel в качестве даты использует текущую дату компьютера. Имейте в виду, что эта переменная будет меняться при повторном открыть файле в будущем.
Обратите внимание, эта статья была написана 6 октября 2016 г.
Используйте функцию ЧИСТРАБДНИ.МЕЖД, если нужно вычислить количество рабочих дней между двумя датами. Вы также можете исключить выходные и праздники.
Прежде чем начать. Решите, нужно ли исключить даты праздников. При исключении введите список дат праздников в отдельной области или на отдельном листе. Поместите каждую дату праздника в собственную ячейку. Затем выделите эти ячейки и нажмите Формулы > Задать имя. Назовите диапазон МоиПраздники и нажмите ОК. Затем создайте формулу с помощью указанных ниже действий.
1. Введите дату начала и окончания.
В этом примере дата начала находится в ячейке D53, а дата окончания — в ячейке E53.
2. В другой ячейке введите формулу следующего вида.
Введите формулу, как в примере выше. Цифра 1 в формуле устанавливает субботы и воскресенья в качестве выходных и исключает их из общего количества.
Примечание. В Excel 2007 нет функции ЧИСТРАБДНИ.МЕЖД. Однако там есть функция ЧИСТРАБДНИ. Указанный выше пример будет выглядеть в Excel 2007 следующим образом: =ЧИСТРАБДНИ(D53;E53). Не нужно указывать цифру 1, так как функция ЧИСТРАБДНИ предполагает, что выходными являются суббота и воскресенье.
3. При необходимости измените цифру 1.
Если суббота и воскресенье не являются выходными днями, измените 1 на другое числовое значение из списка IntelliSense. Например, значение 2 устанавливает воскресенья и понедельники в качестве выходных дней.
Если вы используете Excel 2007, пропустите этот шаг. Функция ЧИСТРАБДНИ в Excel 2007 всегда предполагает, что выходными являются суббота и воскресенье.
4. Введите имя диапазона праздников.
Если вы создали имя диапазона праздников в разделе «Прежде чем начать» выше, введите его в конце следующим образом. Если у вас нет праздников, вы можете не использовать точку с запятой и МоиПраздники. Если вы используете Excel 2007, указанный выше пример будет выглядеть так: =ЧИСТРАБДНИ(D53;E53;MyHolidays).
Совет. Если вы не хотите указывать имя диапазона праздников, вместо этого вы можете ввести диапазон, например D35:E39. Или можно ввести в формулу каждый праздник. Например, если ваши праздники приходились на 1 и 2 января 2016 г., введите их следующим образом: =ЧИСТРАБДНИ.МЕЖД(D53;E53;1;{«01.01.2016″;»02.01.2016»}). В Excel 2007 это будет выглядеть так: =ЧИСТРАБДНИ(D53;E53;{«01.01.2016″;»02.01.2016»})
Вы можете вычислить затраченное время, вычитая одно время из другого. Сначала поместите время начала в одну ячейку, а время окончания — в другую. Вводите время полностью, включая час, минуты и пробел перед AM или PM. Ниже рассказывается, как это сделать.
1. Введите время начала и время окончания.
В этом примере время начала находится в ячейке D80, а время окончания — в ячейке E80. Введите час, минуты и пробел перед AM или PM.
2. Установите формат «ч:мм AM/PM».
Выберите обе даты и нажмите клавиши CTRL+1 (или +1 на компьютере Mac). Выберите вариант (все форматы) > ч:мм AM/PM, если он еще не установлен.
3. Вычтите два времени.
В другой ячейке вычтите ячейку времени начала из ячейки времени окончания.
4. Установите формат «ч:мм».
Нажмите клавиши CTRL+1 (или +1 на Mac). Выберите (все форматы) > ч:мм, чтобы результат не содержал AM и PM.
Чтобы вычислить время между двумя датами со временем, можно просто вычесть одно значение из другого. Однако необходимо применить форматирование к каждой ячейке, чтобы Excel возвращал нужный результат.
1. Введите две полные даты со временем.
В одной ячейке введите полную дату и время начала. А в другой ячейке введите полную дату и время окончания. Каждая ячейка должна содержать месяц, день, год, час, минуты, и пробел перед AM или PM.
2. Установите формат «14.03.12 1:30 PM».
Выберите обе ячейки и нажмите клавиши CTRL+1 (или +1 на компьютере Mac). Затем выберите Дата > 14.03.12 1:30 PM. Это не дата, которую вы установили, а просто пример того, как будет выглядеть формат. Обратите внимание, что в версиях до Excel 2016 этот формат может использовать другой пример даты, например 14.03.01 1:30 PM.
3. Вычтите два значения.
В другой ячейке вычтите ячейку даты и времени начала из даты и времени окончания. Скорее всего, результат будет выглядеть как число с десятичным знаком. Вы исправите это на следующем шаге.
4. Установите формат «[ч]:мм».
Нажмите клавиши CTRL+1 (или +1 на Mac). Выберите пункт (все форматы). В поле Тип введите [ч]:мм.
Статьи по теме
Функция РАЗНДАТ
Функция ЧИСТРАБДНИ.МЕЖД
ЧИСТРАБДНИ
Дополнительные функции даты и времени
Вычисление разницы во времени
Нужна дополнительная помощь?
Нужны дополнительные параметры?
Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.
В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.
Для вычислений длительности временных интервалов удобней всего использовать недокументированную функцию
РАЗНДАТ(
)
, английский вариант 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). В остальных случаях формулы эквивалентны. Какую формулу применять? Это решать пользователю в зависимости от условия задачи.
17 авг. 2022 г.
читать 1 мин
Мы можем использовать функцию DATEDIF() для вычисления разницы между двумя датами в Excel.
Эта функция использует следующий синтаксис:
=DATEDIF(Начальная_Дата, Конечная_Дата, Метрика)
куда:
- Start_Date: дата начала
- End_Date: Дата окончания
- Метрика: метрика для расчета. Варианты включают:
- «д»: дни
- «м»: Месяцы
- «г»: годы
Важно отметить, что эта функция не появится автоматически в Excel, пока вы полностью не введете =РАЗНДАТ( в одну из ячеек.
В следующих примерах показано, как использовать эту функцию для вычисления разницы между двумя датами в Excel.
Пример 1: разница в днях
На следующем изображении показано, как рассчитать разницу (в днях) между двумя датами:
Это говорит нам о том, что между 01.01.2018 и 01.02.2021 1127 полных дней.
Пример 2: разница в месяцах
На следующем изображении показано, как рассчитать разницу (в месяцах) между двумя датами:
Пример 3: Разница в годах
На следующем изображении показано, как рассчитать разницу (в годах) между двумя датами:
Пример 4: Разница в годах и месяцах
На следующем рисунке показано, как рассчитать разницу (в годах и месяцах) между двумя датами:
Вы можете найти больше руководств по Excel на этой странице .
Написано
Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.
Зачастую, чтобы соотнести те или иные даты в своей жизни или попросту посчитать какая разница между вами и вашим любимым человеком, приходится применять массу арифметических действий, показывая на все что вы способны. Теперь с появлением нашего онлайн калькулятора высчитать точную разницу между датами, можно вплоть до секунд.
В чем преимущество нашего онлайн калькулятора? Так в том, что теперь вам не надо сидеть целый час перед листком с ручкой и высчитывать эту разницу самостоятельно, буквально за считанные секунды за вас это сделает наш калькулятор. Все что от вас требуется это ввести две даты, время вплоть до минут и часов и все ваш результат готов, а разница подсчитана.
Содержание
- 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&» «&»дней»)
1
Здесь мы осуществляем проверку двух дат, и исходя из того, что у нас получилось в итоге, выводим результат, на сколько дней первая дата больше, чем вторая. Чтобы это сделать, нами был использовал оператор &, который объединяет две строки текста между собой и объединенный результат возвращает в ячейку. Далее получившийся текст можно использовать сам по себе или в других формулах.
Функция РАЗНДАТ – разность двух дат в днях, месяцах и годах
Предположим, вы работаете в пенсионном фонде и хотите определить трудовой стаж в количестве лет, дней, месяцев и так далее. Это можно сделать с помощью функции РАЗНДАТ.
Ее синтаксис элементарный.
РАЗНДАТ(начальная_дата; конечная_дата; способ_измерения)
Единственный из этих аргументов, который действительно может вызвать вопросы у неподготовленного читателя – это способ измерения. С его помощью мы задаем, в каких единицах будет измеряться разница между датами. Это может быть количество месяцев, лет или количество месяцев без учета лет. Еще один вариант – это количество дней без учета месяцев и лет.
Важно учесть, что в некоторых случаях эта функция может вернуть неправильное значение. Это бывает, когда день первой даты больше, чем день второй. Такая ситуация может быть, например, когда нужно рассчитать количество дней между двумя датами, первая из которых происходила в конце месяца, а другая – в начале следующего.
Пример №1. Подсчет количества лет между двумя датами
На примере выше, формула возвращает количество лет между двумя датами. Например, функция вернет значение “27” если вы захотите посчитать количество полных лет между двумя датами 19 июня 1989 года и 26 марта 2017 года. Система подсчитывает количество полных лет и игнорирует количество месяцев и дней между датами.
Разница дат в полных месяцах
Чтобы определить количество полных месяцев, которое прошло с одной даты до другой, необходимо воспользоваться такой же самой формулой, которая была приведена выше, только третий аргумент должен содержать аргумент m.
То есть, формула следующая.
=РАЗНДАТ(A2;B2;”m”)
Эта формула также может давать несколько неточные данные. Поэтому всегда нужно перепроверять значения самостоятельно.
Разница в днях без учета лет
Эта формула также может использоваться для определения количества дней между двумя датами, но при этом не учитывать количество лет, которое прошло между этими двумя временными точками. Эта возможность есть, но пользоваться ею настоятельно не рекомендуется, потому что искажений в этом случае может быть еще больше.
1
Эта формула вернет правильный результат только тогда, когда в компьютере показано правильное время. Конечно, в большинстве современных операционных системах дата и время определяется автоматически, но иногда случаются сбои. Поэтому перед тем, как подсчитывать разницу в днях без учета лет, нужно убедиться, что на компьютере установлена правильная дата и время. Особенно если электронная таблица пересылалась другому человеку.
Количество рабочих дней между двумя датами
Здесь ситуация чуть сложнее. Необходимо не учитывать субботы с воскресеньями и праздники. Для такого расчета лучше воспользоваться функцией ЧИСТРАБДНИ (NETWORKDAYS) из категории Дата и время. В качестве аргументов этой функции необходимо указать начальную и конечную даты и ячейки с датами выходных (государственных праздников, больничных дней, отпусков, отгулов и т.д.):
Примечание: Эта функция появилась в стандартном наборе функций Excel начиная с 2007 версии. В более древних версиях сначала необходимо подключить надстройку Пакета анализа. Для этого идем в меню Сервис — Надстройки (Tools — Add-Ins) и ставим галочку напротив Пакет анализа (Analisys Toolpak). После этого в Мастере функций в категории Дата и время появится необходимая нам функция ЧИСТРАБДНИ (NETWORKDAYS).
Сдвиг даты на заданное количество дней
Поскольку одни сутки в системе отсчета даты Excel принимаются за единицу (см.выше), то для вычисления даты, отстоящей от заданной на, допустим, 20 дней, достаточно прибавить к дате это число.
Сдвиг даты на заданное количество рабочих дней
Эту операцию осуществляет функция РАБДЕНЬ (WORKDAY). Она позволяет вычислить дату, отстоящую вперед или назад относительно начальной даты на нужное количество рабочих дней (с учетом выходных суббот и воскресений и государственных праздинков). Использование этой функции полностью аналогично применению функции ЧИСТРАБДНИ(NETWORKDAYS) описанной выше.
Вычисление дня недели
Вас не в понедельник родили? Нет? Уверены? Можно легко проверить при помощи функции ДЕНЬНЕД (WEEKDAY) из категории Дата и время.
Первый аргумент этой функции — ячейка с датой, второй — тип отсчета дней недели (самый удобный — 2).
Вычисление временных интервалов
Поскольку время в Excel, как было сказано выше, такое же число, как дата, но только дробная его часть, то с временем также возможны любые математические операции, как и с датой — сложение, вычитание и т.д.
Нюанс здесь только один. Если при сложении нескольких временных интервалов сумма получилась больше 24 часов, то Excel обнулит ее и начнет суммировать опять с нуля. Чтобы этого не происходило, нужно применить к итоговой ячейке формат 37:30:55:
Еще раз о кривизне РАЗНДАТ()
Найдем разницу дат 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! Эта ошибка проявляется, когда в предыдущем месяце относительно конечной даты, дней меньше, чем дней начальной даты.
Формула возвращает разницу дат между сегодняшней и установленной планом в днях. Для решения данной задачи используется функция РАЗНДАТ в 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