Функция с False возвращается из пустых ячеек - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь создать функцию, которая скажет True, если дата ячейки была больше года с текущей даты.

Функция, которую я использовал, чтобы заставить это работать, =IF(DAYS360(H8,TODAY()) >= 258, TRUE).

Единственная проблема в том, что если ячейка пуста, она также будет отображаться как True. Чтобы исправить это, я попытался сделать это: =IF(DAYS360(H7,TODAY()) >= 258,TRUE(AND(H7 = "", FALSE)))

Это действительно не сработало, но если дата была в том же году, это, казалось, сработало. Если функция была в прошлом году, но все еще меньше 365 дней, она отображалась как # N / A (Количество неверных аргументов для True, Ожидаемые 0 аргументов, но получили 1)

Как я могу сделать так, чтобы ячейка отображалась как Истина, если прошло 365 дней или более, и Ложь, если ячейка пуста или меньше 365 от даты ячейки. Пример показанной выше даты ячейки в этом случае будет H7.

Все показанные ячейки используют функцию =IF(DAYS360(H7,TODAY()) >= 258,TRUE(AND(H7 = "", FALSE))).

Ячейка со значением N / A со значением даты из предыдущего года

[

Ячейка со значением False со значением даты из текущего года

Ячейка со значением N / A с пустой ячейкой

[

 =IF(DAYS360(H8,TODAY()) >= 258, TRUE)
 =IF(DAYS360(H7,TODAY()) >= 258,TRUE(AND(H7 = "", FALSE)))

Ответы [ 3 ]

1 голос
/ 31 марта 2020

Это работает?

=IF(H7="",FALSE,H7<=EDATE(TODAY(),-12))

Я думаю, что EDATE ([значение], - 12) будет лучшим способом получить дату в год go, чем любой другой материал, который вы делать с количеством дней.

1 голос
/ 31 марта 2020

это будет просто на голову раньше, чем это будет год

, в этом случае вы просто сравните годы:

=YEAR(A1)>YEAR(TODAY())

для массива-формулы:

=INDEX(IF(A1:A="",,YEAR(A1:A)>YEAR(TODAY())))

0

1 голос
/ 31 марта 2020

Использование:

=IF(AND(H7<>"",DAYS360(H7,TODAY()) >= 258),TRUE)

Но это можно сократить до:

=AND(H7<>"",DAYS360(H7,TODAY()) >= 258)

Что вернет ИСТИНА / ЛОЖЬ

И действительно, вам не нужно DAYS360, если вы не хотите использовать 30-дневный месяц:

=AND(H7<>"",TODAY()-H7>258)
...