У меня есть таблица с двумя датами в следующем формате:

  • C1 Sep 21, 2017 10:22 AM
  • C2 Sep 28, 2017 10:09 AM

Если я запускаю следующее заявление if против них ...

=IF(M4<L4, "Fail", "Pass")

... тогда формула возвращает Pass . Однако, если две даты находятся в разных месяцах, формула не выполняется.

Например,

  • C1 [Sep 26, 2017 03:14 PM]
  • C2 [Oct 2, 2017 03:39 PM]
  • возвращает Fail .

Значение C1 ниже, чем C2, но формула все еще не работает.

Это не имеет значения для возвращаемого значения, если ячейка отформатирована как текст или дата. и =DateValue() не будет работать, она возвращает #VALUE

Есть идеи?

2 ответа2

2

В вашей формуле вы сравниваете не C1 и C2, а M4 и L4. Если вы хотите сравнить C1 и C2 напрямую, вы должны также использовать эти значения в формуле.

Эта формула, например

=IF(C1<C2, "Fail", "Pass")

покажет "Fail", если дата / время в ячейке C1 меньше, чем дата в ячейке C2. Если дата в С1 больше или равна, она покажет "Pass". Ячейки C1 и C2 должны быть отформатированы как дата, а не как текст. В обеих ячейках это должен быть дата или определенный пользователем формат (в котором используются переменные времени и даты, предлагаемые Excel, например, YYYY, MMM, DD и т.д.). Если вы используете текстовый формат, «if-предложение» будет сравнивать не время / дату, а строки, что дает вам "забавные" результаты!

Функция DateValue() работает только с ячейками в текстовом формате и только в определенной области, она не работает с вашей нотацией. Он работает с 31.07.2018 20:36 но не работает с Jul 31, 2018 08:36 PM .

2

Если утверждения работают следующим образом:

=IF( Logical Test, Value if test is TRUE, value if test is FALSE)

Так что вы можете использовать:

=IF(C2<C1,"Pass",Fail")

Я не на 100% понимаю ваш вопрос, поэтому вам, возможно, придется поменять < for >

Логические операторы вы можете использовать:

  • > Больше чем
  • < Меньше чем
  • = Равно
  • <= Меньше или равно
  • >= больше или равно
  • <> не равно

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .