если условие не переоценивается на листе Google на основе СЕЙЧАС () и времени - PullRequest
1 голос
/ 03 мая 2020

У меня есть ячейка P2 с функцией NOW (), отформатированная для отображения времени.

=NOW()

У меня также есть другая ячейка с условием If, которая оценивает время с P2 now () сравнивает с установленным временем 1400 в этом случае и устанавливает для ячейки значение TRUE или FALSE

=if(P2<time(14,0,0),TRUE,FALSE)

Я установил для каждой таблицы значение refre sh refre.

До 14:00 я ожидал, что он установится в ИСТИНА. После того, как время превысит 1400, я ожидал, что ячейка обновится до ЛОЖЬ

Здесь я вижу проблему, ячейка не не переоценивайте время, основываясь на настройках таблицы * refre sh. Если я вставлю в ту же формулу, она будет переоценена в новой ячейке, чтобы показать ожидаемые результаты.

Как получить электронную таблицу для переоценки времени на основе функций NOW () и Time?

Спасибо

Ответы [ 2 ]

2 голосов
/ 03 мая 2020

NOW - это не просто время, это сегодняшняя дата и настоящее время. Итак, вам нужно вычесть TODAY из него, чтобы получить только время. Дата и время - это число: часть даты - это целая часть числа, время - дробная часть.

Один из способов отбросить дату - использовать MOD(NOW(), 1).

=IF(MOD(P2, 1) < TIME(14, 0, 0), TRUE, FALSE)

Или лучше оставьте все как есть и просто вставьте =MOD(NOW(), 1) в P2.

Вот небольшая демонстрация:

enter image description here


Я предложил прежде использовать NOW() - TODAY(), что выглядит ясно, но я думаю, что это может дать вам более 24 часов на краю дня. Поэтому лучше не использовать этот метод.

0 голосов
/ 03 мая 2020

попробуйте напрямую:

=IF(TIMEVALUE(NOW())<TIMEVALUE(TIME(14, 0, 0)), TRUE)

, а также установите:

0

...