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


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 origem, bem como as células de destino, mas sem efeito. Alguma dica de como fazer isso?

Existem cerca de 2.800 linhas de registros, passando por cada um simplesmente não é possível.


4


origem


Horário de verão, alguém? - Arjan
(E se isso for uma importação de algum arquivo de texto, a definição explícita de colunas de data e hora como data-hora durante a importação poderá ajudar.) - Arjan
@Arjan - DST não é aplicável aqui :) - Sathya♦


Respostas:


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 wallclock), não ambos.   Edit: Não é verdade, isso funciona muito bem. É só que não há função de análise para analisar data + hora de uma só vez.

Então, primeiro, 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 cadeia como uma data / hora
  • o último combina data + hora em uma célula (internamente data e hora são apenas números flutuantes, então você pode 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".


5



Obrigado, isso parece promissor. Vou experimentar e deixar você saber amanhã, só saí do escritório;) - Sathya♦
Trabalhou como um encanto, muito obrigado! - Sathya♦


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.


5



Esta é uma ótima resposta genérica. - DanM7
Você poderia apenas fazer =E17-D17 E use [HH] ou [HH]:MM para formatar o resultado. - Jason C


Algo assim ajudaria?

http://www.ehow.com/how_5924425_calculate-time-differences-openoffice.html

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


1



Infelizmente datediff não parece ter números de células como referência :( - Sathya♦
: -O desculpe, eu deveria ter instalado o OO e testá-lo :) - Burton
não se preocupe, obrigado pela tentativa :) - Sathya♦
Parece que datediff não é uma função de planilha wiki.services.openoffice.org/wiki/Documentation/How_Tos/…) mas algo do mecanismo de banco de dados HSQLdb wiki.services.openoffice.org/wiki/…) - Arjan


Parece que os dados são uma string e precisam ser convertidos para uma data primeiro. 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).


1



Eu apliquei a máscara de formato de data, como mencionado na minha pergunta, mas sem efeito. - Sathya♦


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).


1



Isto é o que mostra na caixa de edição - 19-FEB-10 18:33:20 Aplicado apenas das máscaras predefinidas, mas ainda Err:529 - Sathya♦
@ Sathya: Qual versão você tem mesmo assim? - Bobby
Estou em 3.0.0 (OOO300m9, build 9358), rotulado como edição da Novell. Eu estou usando no Windows, não no Linux. - Sathya♦
@ Sathya: Alguma chance de que você possa atualizar para uma versão mais recente? Isso pode ser um bug que foi corrigido (eu li em algum lugar que esse erro estava relacionado a um bug). - Bobby
Desculpe eu não posso atualizar, é além do meu controle. - Sathya♦