Ctrl + Shift + ; просто помещает текущее время в ячейку без метки даты, и, как указывает @Akina в своем ответе, оно ничего не блокирует.
NOW()
добавляет метку даты в ячейку, а также время. Чтобы увидеть это, щелкните по неформатированной пустой ячейке или любой ячейке в General
формате и введите =NOW()
. Во время ввода этого я получаю 21/08/2018 11:25
.
Если вы поместите =NOW()
в ячейку A1
и =NOW()+TIME(23,0,0)
в ячейку B1
, если затем вы поместите =B1-A1
в ячейку C1
и отформатируете ячейку в Time
вы получите 23:00:00
Если вы вводите время без меток даты, вам нужно будет использовать формулу IF()
чтобы определить, меньше ли второе время, чем первое (временные рамки идут после полуночи). Следующее будет определять разницу во времени между ячейкой B1
и ячейкой A1
независимо от того, прошло ли время за полночь или нет. Он также будет работать с метками даты или без них, так как метки даты игнорируются.
=IF(B1<A1,MOD(B1-A1,1),B1-A1)
Пояснение формулы
=IF(B1<A1,...)
время в камере B1
после полуночи? Если это так, следующая часть выполняется
MOD(B1-A1,1)
MOD(number,divisor)
возвращает остаток после деления числа на делитель. Ячейка B1
минус ячейка A1
является отрицательным значением, так как время в ячейке B1
прошло после полуночи, и в большинстве случаев excel не любит отрицательные значения времени, поэтому она выдаст #####
без MOD()
. MOD()
сортирует это.
Альтернативой формуле MOD()
будет использование
TIME(23,59,59)-TIME(HOUR(A1),MINUTE(A1),SECOND(A1))+TIME(0,0,1)+B1
Это 23:59:59 minus time in cell A1 plus 1 second plus time in cell B1
.
Последний бит (,B1-A1)
является последней частью IF()
где, если время в ячейке B1
не превышает полуночи.