Как объяснено в комментариях, NOW()
является изменчивой функцией, с каждым пересчетом значение, возвращаемое NOW()
, обновляется.
В качестве обходного пути вы можете использовать 1 или 2 вспомогательных столбца (в зависимости от того, как настроен ваш рабочий лист) и некоторые VBA для решения этой задачи.
- Столбец А (время начала)
- Столбец B (Время окончания)
- Столбец C (формула, например, = ТЕКСТ (B1-A1, «ч: мм»))
Вы можете использовать приведенный ниже код VBA, все, что вам нужно сделать, это установить для него сочетание клавиш, которое вы хотите использовать.
Sub insertTime()
' Assign this macro to a keyboard shortcut.
' e.g. [Ctrl]+[Shift]+[T]
' The currently selected cell will be updated with the time.
Dim rng As Range
Set rng = Range(ActiveCell.Address) ' Sets the currently selected cell as the range variable rng
rng.Value = Now ' Changes the value of the selected cell to the timevalue
End Sub
Как работает приведенный выше код, объясняется в комментариях к каждой строке.