Ctrl + Desloc + ; apenas coloca a hora atual na célula sem um datestamp, e como @Akina aponta em sua resposta , não bloqueia nada.
NOW()
adiciona um datestamp à célula, bem como a hora. Para ver isso, clique em uma célula vazia não formatada ou em qualquer célula em General
format e digite =NOW()
. No momento da digitação, recebo 21/08/2018 11:25
.
Se você colocar =NOW()
na célula A1
e =NOW()+TIME(23,0,0)
na célula B1
, se você colocar =B1-A1
na célula C1
e formatar a célula como Time
, você receberá 23:00:00
.
Se você estiver inserindo tempos sem datestamps, será necessário usar uma fórmula IF()
para determinar se a segunda vez é menor que a primeira (o período passa da meia-noite). A seguir, é preciso calcular a diferença de horário entre o tempo em que a célula B1
e a célula A1
se a hora final está além da meia-noite ou não. Ele também funcionará com ou sem datestamps, pois os dados são ignorados.
=IF(B1<A1,MOD(B1-A1,1),B1-A1)
Explicação da fórmula
=IF(B1<A1,...)
o tempo na célula B1
depois da meia-noite? Se assim for, a próxima parte é executada
MOD(B1-A1,1)
O MOD(number,divisor)
retorna o restante depois que um número é dividido por um divisor. A célula B1
minus cell A1
é um valor negativo, pois o tempo na célula B1
ultrapassa a meia-noite e o Excel não gosta de valores de tempo negativos na maioria dos casos, portanto, ele fornecerá #####
sem MOD()
. O MOD()
classifica isso.
Uma alternativa à fórmula MOD()
seria usar
TIME(23,59,59)-TIME(HOUR(A1),MINUTE(A1),SECOND(A1))+TIME(0,0,1)+B1
Qual é 23:59:59 minus time in cell A1 plus 1 second plus time in cell B1
.
O último bit que é ,B1-A1)
é a última parte do IF()
, em que se o tempo na célula B1
for não depois da meia-noite.