У меня есть очень большая электронная таблица с большим количеством дат в каждой строке в формате DD-MMM-YYYY. Я хотел бы вернуть 'YES' для всех строк с датами, меньшими, чем определенная дата (которая изменится), и ничего не вернуть, если значение больше этой даты.

Например если я хочу вернуть все даты подряд меньше, чем 01-Mar-2018. Я попробовал эту формулу:

= ЕСЛИ ((J377:X377)

Есть идеи, что я делаю не так? Спасибо, Скотт!

3 ответа3

0

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

=IF(SUMPRODUCT(($B4:$D4>=$G$5)*($B4:$D4<=$G$4))>=1,"Yes","No")

Скопируйте формулу вниз рядом с каждой строкой. Поскольку SUMPRODUCT выполняет вычисления, подобные массиву, избегайте полной ссылки на столбец / строку, такой как A:A или 1:1, вместо этого ограничивайте ее только данными, которые вы просматриваете.

POC

0

Мое решение основано на обоих возможных форматах.

  1. Когда даты только в одном столбце.
  2. Когда Даты в более чем одном столбце.

Формула в ячейке B3 если даты указаны только в одном столбце.

=IF($C$2>A3,"Yes","")

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

=IF(COUNTIF(A14:C14,"<"&$C$2)=3,"Yes","")

Замечания:

  1. Параметр =3 доступен для редактирования, зависит от количества значений даты в столбцах.
  2. Ячейка C2 имеет критерии 01-Mar-2018.
  3. Перетащите обе формулы вниз, пока не потребуется.
  4. При необходимости измените ссылки на ячейки в формуле.
0

вам нужно использовать формулу для каждой даты, которую вы хотите проверить, например:

A1: 01-Mar-2018
B1: some other date you want to check against the first date (in A1)
C1: some other date you want to check against the first date (in A1)
D1: =IF(A1<B1,"YES","")
E1: =IF(A1<C1,"YES","")

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