Subtrair milissegundos do Tempo no Excel

2

Eu tenho um arquivo logdata com um horário de término e a duração da operação especificada em milissegundos. Eu gostaria de subtrair a duração do tempo final, para obter quando a operação começou. Como posso fazer isso?

As colunas são as seguintes:

|EndTime   |ElapsedTime|Logmessage|
|01:00:41.5|        412|Operation2|
|01:00:41.6|        260|Operation3|
|01:00:42.0|       1520|Operation1|

E o que eu quero é isso:

|StartTime |EndTime   |ElapsedTime|Logmessage|
|01:00:41.1|01:00:41.5|        412|Operation2|
|01:00:41.4|01:00:41.6|        260|Operation3|
|01:00:40.5|01:00:42.0|       1520|Operation1|

Para que fique claro que a operação 1, ao ser registrada após a operação 2 e 3, foi iniciada primeiro.

Eu tentei simplesmente subtrair a coluna Elapsed time da coluna EndTime . Eu tentei usar o comando Time :

Time(0;0;[ElapsedTime]/1000)

mas Time aparentemente desconsidera milissegundos.

    
por AkselK 05.06.2015 / 10:28

2 respostas

3

Contanto que ElapsedTime seja sempre um número inteiro menor que 32768,

TIME(0;0;[ElapsedTime])/1000

deve funcionar. (Eu suponho que o ponto-e-vírgula normalmente funcione para você em funções. Na minha máquina, eu diria TIME(0,0,[ElapsedTime])/1000 , usando vírgulas.

Aviso: o parâmetro “ Segundo (s)” para TIME() deve estar entre 0 e 32767. Se você tiver uma duração maior que 32767 milissegundos (isto é, 32,767 segundos), o acima irá falhar. Se isso é uma possibilidade, ou se ElapsedTime poderia ter uma parte fracionária (por exemplo, 412.867) - ou pode ser negativo -, a resposta da Máté funcionará melhor.

    
por 05.06.2015 / 10:37
1

No endereço dos dias do Excel, armazenados como números inteiros e horas e minutos são como frações. Tente isto: EndTime-ElapsedTime/(24*60*60*1000)

    
por 05.06.2015 / 10:38