На первый взгляд может показаться, что функцию ЕСЛИ для работы с датами можно применять так же, как для числовых и текстовых значений, которые мы только что обсудили. К сожалению, это не так.
Примеры работы функции ЕСЛИ с датами.
Дата в качестве условия, с которым работает функция ЕСЛИ, может быть записана в какую-то ячейку Excel, либо же прямо вставлена в формулу. Вот тут-то и возникают некоторые особенности и сложности работы функции ЕСЛИ с датами.
Пример 1. Формула условия для дат с функцией ДАТАЗНАЧ (DATEVALUE)
Иногда случается, что записать дату непосредственно в функцию ЕСЛИ, не ссылаясь ни на какую ячейку. В этом случае возникают некоторые сложности.
В отличие от многих других функций Excel, ЕСЛИ не может распознавать даты и интерпретирует их как текст, как простые текстовые строки.
Поэтому вы не можете выразить свое логическое условие просто как >«15.07.2019» или же >15.07.2019. Увы, ни один из приведенных вариантов не верен.
Чтобы функция ЕСЛИ распознала дату в вашем логическом условии именно как дату, вы должны обернуть ее в функцию ДАТАЗНАЧ (в английском варианте – DATEVALUE).
Например, ДАТАЗНАЧ(«15.07.2019»).
Полная формула ЕСЛИ может иметь следующую форму:
=ЕСЛИ(B2<ДАТАЗНАЧ("10.09.2019"),"Поступил","Ожидается")
Смотрите результат:
Как показано на скриншоте, эта формула ЕСЛИ оценивает даты в столбце В и возвращает «Поступил», если дата поступления до 10 сентября. В противном случае формула возвращает «Ожидается».
Пример 2. Формула условия для дат с функцией СЕГОДНЯ()
В случае, когда даты записаны в ячейки таблицы Excel, применять ДАТАЗНАЧ нет необходимости.
Если вы основываете свое условие на текущей дате, то можете взять функцию СЕГОДНЯ (в английском варианте - TODAY) в качестве аргумента функции ЕСЛИ.
К примеру, сегодня - 9 сентября 2019 года.
В столбце C отметим товар, который уже поступил. В ячейке C2 запишем:
=ЕСЛИ(B2<СЕГОДНЯ(),"Поступил","")
В столбце D отметим товар, который еще не поступил. В ячейке D2 запишем:
=ЕСЛИ(B2<СЕГОДНЯ(),"","Ожидается")
Смотрите скриншот ниже.
Пример 3. Расширенные формулы ЕСЛИ для будущих и прошлых дат
Предположим, вы хотите отметить только те даты, которые отстоят от текущей более чем на 30 дней.
Выделим даты, отстоящие более чем на месяц от текущей, в прошлом. Укажем для них «Более месяца назад». Запишем это условие:
=ЕСЛИ(СЕГОДНЯ()-B2>30,"Более месяца назад","")
Если условие не выполнено, то в ячейку запишем пустую строку "".
А для будущих дат, также отстоящих более чем на месяц, укажем «Ожидается».
=ЕСЛИ(B2-СЕГОДНЯ()>30,"Ожидается","")
Если все результаты попробовать объединить в одном столбце, то придется составить выражение с несколькими вложенными функциями ЕСЛИ:
=ЕСЛИ(СЕГОДНЯ()-B2>30,"Более месяца назад", ЕСЛИ(B2-СЕГОДНЯ()>30,"Ожидается",""))
Еще немного полезной информации о функции ЕСЛИ: