Excel: как сравнивать даты без времени

Часто вам может потребоваться сравнить две даты в Excel, игнорируя значения времени, связанные с датами.
К счастью, вы можете использовать функцию INT() в Excel, чтобы извлечь только дату из значения даты и времени, что позволяет легко сравнивать даты, игнорируя время.
В следующих примерах показано, как использовать эту функцию INT() в различных сценариях.
Пример 1: сравнение дат без времени
Предположим, у нас есть следующий список значений даты и времени в Excel, который показывает, когда разные люди подписались на гонку на 5 км, а также крайнюю дату регистрации:

Мы можем ввести следующую формулу в ячейку B2, чтобы сравнить дату регистрации с датой окончания:
=IF(INT( A2 )
Затем мы можем перетащить и заполнить эту формулу до каждой оставшейся ячейки в столбце B:

Эта формула сравнивает только дату в столбце A с датой окончания в ячейке D2.
Если дата в столбце A равна или предшествует дате в ячейке D2, формула возвращает Valid .
В противном случае формула возвращает Not Valid .
Пример 2: сравнение и подсчет дат без учета времени
Еще раз предположим, что у нас есть следующий список значений даты и времени в Excel, который показывает, когда разные люди подписались на гонку на 5 км, а также крайнюю дату регистрации:

Мы можем ввести следующую формулу в ячейку F2, чтобы подсчитать общее количество дат регистрации, которые равны или предшествуют дате отсечки:
=SUMPRODUCT((INT( A2:A10 )

Из вывода мы видим, что 5 полных дат в столбце A равны или предшествуют дате отсечки.
Используя функцию INT() , мы смогли сравнить только часть даты значений даты и времени в столбце A с датой отсечки.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в Excel:
Как в эксель сравнить даты больше меньше
Argument 'Topic id' is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО "Планета Эксел" ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Вычисление разности двух дат
Используйте функцию РАЗНДАТ, если нужно вычислить разницу двух дат. Сначала поместите дату начала в одну ячейку, а дату окончания — в другую. Затем введите формулу, например одну из следующих.
Предупреждение: Если значение нач_дата больше значения кон_дата, возникнет ошибка #ЧИСЛО!
Разница в днях

В этом примере дата начала находится в ячейке 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;). В Excel 2007 это будет выглядеть так: =ЧИСТРАБДНИ(D53;E53;)
Расчет затраченного времени
Вы можете вычислить затраченное время, вычитая одно время из другого. Сначала поместите время начала в одну ячейку, а время окончания — в другую. Вводите время полностью, включая час, минуты и пробел перед 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). Выберите пункт (все форматы). В поле Тип введите [ч]:мм.
Как в эксель сравнить даты больше меньше

От нашей студентки проходящей курс "Excel бизнес-анализ и прогнозирование" поступил вопрос в чат с тренером поддержки, по организации работы с формулами даты и времени. Вопрос возник в процессе внедрения в работу знаий полученных на курсе.
Суть «кейса»: имеется табличка с двумя полями, в которой содержится информация о дате создания и дате закрытия операции, на основании которых нужно вычислить количество и процент операций, которые были закрыты:
- в первый рабочий день (со времени начала выполнения операции до 18:00 следующего рабочего дня);
- в пределах двух следующих рабочих дней;
- в сроки более двух рабочих дней.

Для того чтобы всё правильно прописать, для начала нужно правильно проранжировать периоды.
Добавим «технический столбец» в котором пропишем с помощью логических функций ЕСЛИ следующие условия:
1. Если даты создания и закрытия совпадают, то это считается первым рабочим днем (в столбец подставится единичка)
В полях у нас формат дата-время, поэтому чтобы сравнить дни, нужно из этого формата извлечь дату. Сделать это можно несколькими способами:
- С помощью функции ДАТА, собрав даты из наших полей
=ЕСЛИ(ДАТА(ГОД(A2);МЕСЯЦ(A2);ДЕНЬ (A2))=ДАТА(ГОД(B2);МЕСЯЦ(B2);ДЕНЬ(B2));1
- Но если помнить, что дата и время для Excel являются числами (время – дробная часть даты), то можно пойти более коротким путём, используя функцию ЦЕЛОЕ.
2. На месте аргумента [значение_если_ложь] функции ЕСЛИ напишем ещё одну функцию ЕСЛИ, в которой проверим, является ли дата закрытия следующим рабочим днем (на всякий случай проверим чтобы дата была меньше двух рабочих дней от даты создания)
и чтобы одновременно проверялось условие, что время до 18:00
Данная проверка условий также входит в «операции, закрытые в первый рабочий день», поэтому в аргументе [значение_если_истина] должна подставляться единичка.
Формула на данном этапе выглядит примерно так:
3. Теперь пришла очередь проверить принадлежит ли дата закрытия к группе «закрытые в пределах двух следующих рабочих дней». На месте аргумента [значение_если_ложь] пишем еще одну ЕСЛИ, которая будет проверять, является ли дата закрытия меньше третьего рабочего дня и тогда подставляться двоечка в наш «технический столбец».
- Почему не пишем проверку даты, является ли она больше первого рабочего дня? Потому что функция ЕСЛИ останавливается если её результатом является ИСТИНА и при правильном написании условий можно сократить длину формулы, а при неправильном – запутаться, и получить некорректный результат.
- Почему не проверяем час на Потому что это не оговорено условием и по умолчанию считаем что в группу входят даты до конца дня
4. Прописывать условия для третьей группы не нужно, так как в неё попадают все даты, которые не соответствуют предыдущим условиям. На месте аргумента [значение_если_ложь] пишем троечку и закрываем скобки для всех функций ЕСЛИ.
Полностью формула выглядит так:

Имея столбец, в котором каждая операция принадлежит к конкретной группе, можем посчитать необходимые показатели.
Для подсчёта количества используем функцию СЧЁТЕСЛИ.
Первая группа: =СЧЁТЕСЛИ($C$2:$C$17;1)
Вторая группа: =СЧЁТЕСЛИ($C$2:$C$17;2)
Третья группа: =СЧЁТЕСЛИ($C$2:$C$17;3)
С расчётом процента также никаких сложностей нет. Нужно просто разделить количество операций, принадлежащих к конкретной группе на общее количество операций (можно использовать как формулы которые написали выше, так и ссылки на ячейки с этими формулами:
Первая группа: =J2/СЧЁТ($C$2:$C$17)
Вторая группа: =J5/СЧЁТ($C$2:$C$17)
Третья группа: =J7/СЧЁТ($C$2:$C$17)

Таким образом, с помощью простых и понятных операций, помогли нашей студентке справиться с поставленной задачей.
Такие и подобные вопросы поступают к нам в чат поддержки ежедневно в рамках курса "Excel бизнес-анализ и прогнозирование". Многие вопросы цикличны, так как все мы сталкиваемся с аналогичными проблемами в своей работе!
Мы с командой DATAbi будем делиться этими практическими кейсами и выполнять свои рабочие задачи лучше и проще!
Автор статьи тренер DATAbi Михаил Беленчук