Сравнить даты в Excel

Обновлено: 20.11.2024

Мне задавали похожие вопросы, но я еще не нашел ответа на свой вопрос. У меня есть диапазон имен (CDate), где дата вручную вводится в файл excel. Я использовал этот диапазон имен в формуле, чтобы увидеть, следует ли скрыть или показать заголовок столбца. Они также являются диапазонами имен и являются MonthEnd1, MonthEnd2 и т. д. Из моего исследования я немного знаком с тем, что по умолчанию Excel записывает даты в определенном числовом формате, а форматирование ячеек влияет на формулу сравнения и может вызвать ошибки. Поскольку у меня есть данные, импортируемые в этот шаблон, и значения диапазона имен (CDate) меняются здесь и там при каждом импорте, я пытался выяснить, есть ли способ выполнить сравнение дат в формуле независимо от формата этой ячейки. .

Это то, что я пробовал изначально
=MonthEnd1

Факты об Excel

Пито Салас, работая в Lotus, популяризировал сводные таблицы. Он был выпущен как Lotus Improv в 1989 году.

Майкериксон

MrExcel MVP
MrExcel MVP, младший администратор

У вас действительно есть диапазон или переменная с именем "CDATE"?
Это большое нет-нет. «CDATE» — это уже имя существующей функции VBA, которая преобразует текстовую запись в запись даты (см.: MS Excel: как использовать функцию CDATE (VBA)).
Никогда не используйте зарезервированные слова (то есть имена существующих функций, свойств или методов) в качестве имен переменных, диапазонов, функций или процедур в VBA. Это может привести к двусмысленности и неожиданным результатам (поскольку VBA не может определить, имеете ли вы в виду переменную "CDATE" или функцию "CDATE").

Кроме того, если вы пытаетесь сравнить две даты, вам НЕ следует сначала использовать для них функцию ТЕКСТ! Это преобразует даты в ТЕКСТ, а затем будет следовать правилам ТЕКСТА (т. Е. «01.01.2020» будет стоять перед «31.12.2019»). Оставьте их как Даты. Если они обе действительные даты, вам не нужно беспокоиться об их форматировании перед сравнением. Excel не заботится о том, какой формат вы выберете для отображения своих дат, потому что Exce/VBA видит даты иначе. Кажется, что это числа, в частности, количество дней, прошедших с 01.01.1900 (поэтому все, что является датой в Excel, является числом, и вы просто используете какой-то формат даты только для целей отображения).

SamNew2Coding

Новый участник

У вас действительно есть диапазон или переменная с именем "CDATE"?
Это большое нет-нет. «CDATE» — это уже имя существующей функции VBA, которая преобразует текстовую запись в запись даты (см.: MS Excel: как использовать функцию CDATE (VBA)).
Никогда не используйте зарезервированные слова (то есть имена существующих функций, свойств или методов) в качестве имен переменных, диапазонов, функций или процедур в VBA. Это может привести к двусмысленности и неожиданным результатам (поскольку VBA не может определить, имеете ли вы в виду переменную "CDATE" или функцию "CDATE").

Кроме того, если вы пытаетесь сравнить две даты, вам НЕ следует сначала использовать для них функцию ТЕКСТ! Это преобразует даты в ТЕКСТ, а затем будет следовать правилам ТЕКСТА (т. Е. «01.01.2020» будет стоять перед «31.12.2019»). Оставьте их как Даты. Если они обе действительные даты, вам не нужно беспокоиться об их форматировании перед сравнением. Excel не заботится о том, какой формат вы выберете для отображения своих дат, потому что Exce/VBA видит даты иначе. Кажется, что это числа, в частности, количество дней, прошедших с 01.01.1900 (поэтому все, что является датой в Excel, является числом, и вы просто используете какой-то формат даты только для целей отображения).

CDate — это не настоящее имя диапазона, а ConversionDate, но я сократил его для простоты. Думаю, это было недальновидно с моей стороны. Мой оператор IF =IF(MonthEnd1

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

Как сравнить две даты в Excel?

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

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

Следуйте инструкциям, чтобы сравнить две даты в Excel.

    Посмотрите на приведенные ниже данные, чтобы сравнить даты в Excel.


У нас одна и та же дата в обоих столбцах, поэтому в результате мы получили ИСТИНА.

Итак, везде, где данные совпадают, мы получаем результат ИСТИНА, а когда данные не совпадают, мы получаем результат ЛОЖЬ.

Одним интересным фактом об этом примере является строка номер 7; в этой строке первая дата записывается как «29 октября 2019», а вторая дата записывается как 43767. Несмотря на то, что обе они разные, результат все равно ИСТИНА, т. е. обе одинаковы.

Причина, по которой я указал дату и время в Excel в самом начале, связана с таким сценарием в Excel. Когда мы применим формат даты «ДД-МММ-ГГГГ» к серийному номеру 43767, мы получим тот же результат, что и ячейка A7.

Итак, Excel читает их как серийные номера, а не как даты. Таким образом, мы можем сравнить две даты в Excel.

Теперь предположим, что вы не хотите видеть результаты по умолчанию ИСТИНА или ЛОЖЬ, а можете захотеть получить другой результат, например «Обе верны», если обе даты совпадают, или же вам нужен результат, например «Обе верны». Не верно." Итак, это делается с помощью логической функции «ЕСЛИ».

  • Откройте функцию ЕСЛИ в Excel. Функция ЕСЛИ в Excel Функция ЕСЛИ в Excel оценивает, выполняется ли заданное условие, и возвращает значение в зависимости от того, является ли результат «истинным» или «ложным». Это условная функция Excel, которая возвращает результат на основе выполнения или невыполнения заданных критериев. Подробнее читайте в столбце «ПОИСКПОЗ».
  • Первый критерий формулы — это логическая проверка в excelЛогическая проверка в ExcelЛогическая проверка в Excel приводит к аналитическому результату, истинному или ложному. Оператор равенства «=» является наиболее часто используемой логической проверкой. Читать дальше, поэтому в данном случае наша логическая проверка состоит в том, чтобы проверить, равна ли «Дата 1» «Дате 2» или нет, поэтому примените логическую проверку. проверить как E2 = F2.
  • Следующим аргументом является значение, если оно истинно; это ничего, если применяемый логический тест ИСТИНЕН, т. е. если «Дата 1» равна «Дате 2», какое значение необходимо? Итак, нам нужно значение «Оба варианта верны».
  • Следующим аргументом является значение, если оно ложно, поэтому, если логическая проверка неверна, то какое значение необходимо? Нам нужны значения как «Оба неверны».

Хорошо, мы закончили с формулой; закройте скобку и нажмите клавишу ввода, чтобы получить результат.

Перетащите формулу в другие ячейки.

Итак, результаты здесь, а не по умолчанию TRUE или FALSE.

Мы видели один набор вычислений; теперь мы увидим, является ли одна дата больше или меньше другой даты. Для этого взгляните на приведенный ниже пример данных.

Сначала мы проверим, что «Дата 1» больше, чем «Дата 2», или нет следующим образом.

Ну вот, у нас есть результаты.

Так мы можем сравнивать даты в Excel. Однако при этом нужно помнить об определенных вещах.

Что нужно помнить

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

Рекомендуемые статьи

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

Работая аналитиком данных, которому постоянно приходится иметь дело с огромным объемом данных, вы могли столкнуться с ситуациями, когда вам нужно сравнить две даты. Либо вам интересно проверить, совпадают ли даты друг с другом в двух разных столбцах, либо вы, возможно, хотели проверить, меньше или больше одно из значений даты, чем другое. Мы должны сказать, что иногда у вас могут быть разные критерии тестирования для двух столбцов дат в зависимости от требований анализа или необходимости часа. Что ж, сравнение двух дат в Excel — простая задача и не всегда может потребовать много усилий (разве что и в противном случае критерии другие, а также сложные, чем обычно.

Функции Excel, формулы, диаграммы, форматирование, создание информационной панели Excel и др.

Что такое сравнение дат в Excel?

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

Примеры сравнения дат в Excel

Давайте обсудим сравнение дат в Excel с некоторыми примерами.

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

Шаг 1. Создайте формулу в ячейке C2, введя знак равенства, как показано ниже:

Шаг 2. Поскольку мы хотели проверить, совпадают ли значения даты между ячейками A2 и B2, мы можем сделать это, используя простейший из всех операторов сравнения с именем «равно». При использовании «A2 = B2» в ячейке C2 после начального оператора равенства.

Все в одном пакете Excel VBA (более 120 курсов) Более 120 онлайн-курсов | 500+ часов | Поддающиеся проверке сертификаты | Пожизненный доступ
4,9 (2356 оценок)

Формула в ячейке C2 проверяет, совпадают ли значения в ячейках A2 и B2 друг с другом. Если значения совпадают, он вернет логический вывод как TRUE. Если значения не совпадают, он вернет логический вывод как FALSE.

Шаг 3. Формула готова. нажмите клавишу Enter и перетащите формулу по ячейкам, чтобы увидеть вывод формулы. Вы можете перетащить формулу с помощью сочетания клавиш Ctrl + D. Однако для этого вам нужно выбрать все ячейки в столбце C от C2 до C11.

Вы можете видеть, что для тех ячеек, в которых значения дат совпадают друг с другом, система генерирует логический вывод как «ИСТИНА», а для ячеек, в которых значения дат не совпадают, она генерирует вывод как «ЛОЖЬ».< /p>

Если вы заметили, ячейка C выдает значение TRUE. Даже если значения из ячеек A2 и B2 не совпадают невооруженным глазом. На самом деле оба значения одинаковы. Это просто разница в формате. Значения даты хранятся в течение нескольких дней с исходной даты 01-01-1900 в Excel. Таким образом, 43943 — это не что иное, как разница в количестве дней для даты 22-04-2020 от исходной даты. Вот почему они подходят друг другу.

Теперь мы сделаем еще один шаг и проверим, больше или меньше значения дат из одного столбца, чем значения дат из другого столбца. Это можно сделать с помощью «Больше чем» («>») и «Меньше чем» («B2». Ну, как говорит сама формула, это проверит, больше ли значение даты в ячейке A2, чем значение даты в ячейке B2. или нет. Если это так, система сгенерирует логический вывод как TRUE. Если это не так, система сгенерирует логический вывод как FALSE.

Перетащите формулу по строкам, чтобы получить результат для всех ячеек в столбце C.

Аналогичным образом вы можете проверить, меньше ли значения даты из столбца A, чем в столбце B. Все, что вам нужно сделать, это заменить оператор "больше" (">") на "меньше" ("Подробнее

Важно понимать, как Excel хранит дату и время.

Даты хранятся в виде порядковых номеров; каждое целое число представляет собой уникальную дату. 1 представляет 01.01.1900, а каждое последующее число представляет количество дней после 01.01.1900.

Время хранится в виде десятичных значений, представляющих время дня.

Серийный номер, содержащий десятичное значение, представляет дату и время:

Сравнение двух дат

Для сравнения дат можно использовать обычные операторы Excel:

Даты равны?

Вы можете проверить, равны ли даты, используя знак равенства (=). (Примечание: конечно, это не будет работать должным образом, если даты также содержат значения времени. Мы обсудим это подробнее ниже).

Является ли дата больше другой даты?

Дата меньше или равна другой дате?

Сравнение двух дат со временем

Однако, если даты содержат время, вы можете получить неожиданные результаты:

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

Сравнить сегодняшний день с датой

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

Сравнение дат и функция ЕСЛИ

В приведенных выше примерах мы просто возвращали ИСТИНА или ЛОЖЬ в зависимости от результата сравнения. Вместо этого мы можем добавить сравнения в функцию ЕСЛИ. Эта формула проверяет, является ли элемент «просроченным», сравнивая сегодняшнюю дату со сроком выполнения:

Разницы в датах

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

Разница в днях между датами

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

Разница в месяцах или годах между датами

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

Читайте также: