O Tempo Decorrido do Excel como Fórmula de Subtração de Números Simples

0

Para facilitar a entrada e evitar que o Excel insira horas desnecessárias do dia e informações de AM / PM, estou usando esse formato personalizado para inserir o tempo em minutos e segundos: "00\:00"

Estou tentando calcular a diferença de tempo com esse tipo de dado, mas o Excel não o reconhece como numeração da base 60. Existe uma maneira de manter esse formato e ainda calcular um resultado?

por exemplo. Se A1 ler "00:30" e B1 ler "01:21", como faço C1 calcular e resultar em "00:51"?

    
por etudes 24.07.2017 / 22:15

2 respostas

2

Aqui está uma maneira de fazer isso com uma fórmula, embora haja tantos parênteses nesta equação que eu estou prestes a ficar com os olhos vesgos.

Comoosdoisdígitosmaisàdireitaemseuformatopersonalizadorepresentamossegundos,podemossepará-losusandoRIGHT().Emseguida,subtrairessevalordonúmerooriginalforneceos"minutos" em seu formato personalizado.

Vou começar com as peças e, em seguida, construo a fórmula a partir de suas partes.

Convert B to Seconds  =  (60*(B2-RIGHT(B2,2))/100)+RIGHT(B2,2)
Convert A to Seconds  =  (60*(A2-RIGHT(A2,2))/100)+RIGHT(A2,2)
Difference in Seconds  =  ((60*(B2-RIGHT(B2,2))/100)+RIGHT(B2,2))-((60*(A2-RIGHT(A2,2))/100)+RIGHT(A2,2))

Now to convert back to the original format:
 1. Divide the difference by 60, truncate it, and multiply by 100 to get the minutes part.
 2. Divide the difference by 60, and take the modulus to get the seconds part.
 3. Add 1 and 2.

Minutes Part  =  100*(TRUNC((((60*(B2-RIGHT(B2,2))/100)+RIGHT(B2,2))-((60*(A2-RIGHT(A2,2))/100)
Seconds Part  =  MOD((((60*(B2-RIGHT(B2,2))/100)+RIGHT(B2,2))-((60*(A2-RIGHT(A2,2))/100)+RIGHT(A2,2))),60)

And here's the entire formula:

=100*(TRUNC((((60*(B2-RIGHT(B2,2))/100)+RIGHT(B2,2))-((60*(A2-RIGHT(A2,2))/100)+RIGHT(A2,2)))/60))+MOD((((60*(B2-RIGHT(B2,2))/100)+RIGHT(B2,2))-((60*(A2-RIGHT(A2,2))/100)+RIGHT(A2,2))),60)

Ufa! Espero que isso ajude.

    
por 25.07.2017 / 01:19
0

Se você estiver usando 121 e formatando que seja 01:21 (significando 1 minuto e 21 segundos), é possível usar uma coluna auxiliar para fazer as contas:

Na coluna B, coloque isso e arraste para baixo:

=IF(LEN(A1)=4,TIME(0,LEFT(A1,2),RIGHT(A1,2)),IF(LEN(A1)=3,TIME(0,LEFT(A1,1),RIGHT(A1,2)),TIME(0,0,A1)))

Em seguida, em B3 , você pode fazer B2-B1 .

Isso deve funcionar para tempos de 00:01 a 59:59 eu acredito.

    
por 24.07.2017 / 22:52