Encontrando diferença no tempo usando o OpenOffice.org Calc

4

Eu tenho dados neste formato:

      Action  (A)                  |     Time logged (B)
  ---------------------------------|-----------------------
1 |Policy converted successfully   |   19-FEB-10 18:34:01   
2 |Policy converted successfully   |   19-FEB-10 18:34:10   
3 |Policy converted successfully   |   19-FEB-10 18:34:21   

Eu preciso encontrar a diferença de tempo entre a linha 2 e a linha 1, em segundos (ou minutos / horas). Como posso fazer o mesmo usando o OpenOffice.org Calc? Eu tentei =B2-B1 , a célula resultante tinha um Err: 529 como resultado. Eu tentei colocar máscara de formato de DD-MMM-YY HH:MM:SS na fonte, bem como as células de destino, mas sem efeito. Alguma dica de como conseguir isso?

Existem cerca de 2.800 fileiras de registros, sendo que cada um deles não é possível.

    
por Sathya 22.02.2010 / 22:24

5 respostas

5

Como Chris respondeu, seu problema é que sua planilha armazena as datas como uma string de texto, não como uma data.

Além disso, uma célula pode ser apenas uma data (ou seja, um dia no calendário), ou um tempo (tempo de relógio), não ambos. Edit: Não é verdade, isso funciona muito bem. É só que não há nenhuma função de análise para analisar data + hora de uma só vez.

Primeiramente, você precisa dividir sua string de data e hora em duas colunas. Em seguida, use DATEVALUE para converter a data e TIMEVALUE para converter a hora. Então você pode calcular com eles.

Para fazer isso, você pode usar fórmulas como esta:

Policy converted successfully   |       19-FEB-2010 18:34:01 | =LEFT(B1; 11) | =RIGHT(B1;8) | =DATEVALUE(C1) | =TIMEVALUE(D1) | =E1+F1

Explicação:

  • As duas primeiras fórmulas (LEFT, RIGHT) dividem a string em data e hora, para analisá-las separadamente.
  • Os próximos dois (DATEVALUE, TIMEVALUE) analisam uma string como uma data / hora
  • o último combina data e hora em uma célula (internamente, data e hora são apenas números flutuantes, para que você possa adicionar)

Agora você pode usá-los para o conteúdo do seu coração. Claro que você poderia combinar as fórmulas para usar menos células.

Se a última coluna não aparecer como data + hora, mas como um número, escolha a formatação "data".

    
por 23.02.2010 / 00:12
5

Para calcular a diferença de duas vezes em horas:

=(HOUR(E17)+(MINUTE(E17)/60))-(HOUR(D17)+(MINUTE(D17)/60))

onde D17 é o "do tempo" e E17 é o "tempo". Ambos E17 e D17 devem ser formatados como tempo.

    
por 08.06.2012 / 16:21
1

Será que algo assim ajudaria?

link

Eu não tenho o OO instalado, por isso não posso verificar. Basicamente, use a função DATEDIFF .

    
por 22.02.2010 / 22:36
1

Parece que os dados são uma string e precisam ser convertidos para uma data primeiro. As datas são armazenadas internamente como números de ponto flutuante, então você pode simplesmente subtraí-las e obter a diferença (o resultado ainda pode precisar de formatação dependendo do que você está procurando).

    
por 22.02.2010 / 22:49
1

Esse erro significa algo parecido com a formatação da célula está desarrumada. Eu sou incapaz de reproduzi-lo (3.1, Ubuntu 9.10) (é simplesmente trabalhar para mim), mas você deve verificar o conteúdo 'real' da célula, como aparece na caixa de texto de edição na barra de ferramentas. Além disso, tente definir a formatação da célula (clique direito - > Formatar células ... - > Números) para um tipo de data (não apenas usando a máscara, defina-a explicitamente como uma das máscaras de data predefinidas).

    
por 23.02.2010 / 00:05