Como calculo um delta de tempo nas minhas planilhas do Google?


73

Eu tenho uma planilha do Google mais ou menos assim:

 Date        | Start time  | End time    | Minutes
 ------------+-------------+-------------+-----------
 1/11/2012   | 11:39       | 12:41       | ?!
 ------------+-------------+-------------+-----------
             |             |             | 

Agora, se eu preencher o número de minutos entre as duas horas do dia manualmente. Existe uma maneira direta de calcular um delta de tempo e fazer com que a planilha faça isso por mim?

Respostas:


65

O Google adicionou um novo formato de número chamado Duração. Defina seus campos de início e término como Format -> Number -> Timee seu campo de cálculo comoFormat -> Number -> Duration

Depois de fazer isso, você pode subtrair os campos para obter a diferença, conforme observado por Stefano Palazzo em sua resposta.


51

Sim, se os campos de hora estiverem formatados corretamente (clique em Formatar → Número → Hora ), você pode apenas adicionar e subtrair horas:

=C2-B2

ou

21:58:00 - 20:44:00 = 1:14:00

Isso fornecerá o tempo delta como HH:MM:SS. E se você quiser calcular o número de minutos, poderá usar as funções Hour(), Minute()e Second()nesse campo:

=(Hour(D2) * 60) + Minute(D2) + (Second(D2) / 60)

Obviamente, se houver segundos bissextos, alterações de fuso horário ou se um evento demorar mais de 24 horas, você ainda precisará ajustar os resultados manualmente.

Um aviso

Se um evento ultrapassar a meia-noite, digamos das 23:50 às 00:10, isso será exibido como um tempo negativo!

Para que esses eventos sejam tratados 'corretamente', você pode colocar "24:10" ou dividir o evento em dois.

Uma maneira melhor

Embora seja um pouco mais difícil inserir dados, a maneira mais confiável de fazer isso é marcar o campo inicial e final como "Data e hora" e o campo delta como "Horas", com a seguinte aparência:

Beginning          End                  Delta
8/1/2013 0:00:00   8/2/2013 12:30:00    36:30:00

Isso parece não funcionar mais. Eu acho que você precisa escolher Formatar> Número> Horas (vs. hora). Eu recebo um número decimal muito estranho quando tento subtrair uma simples diferença horária.
Elias Lynn

@ElijahLynn esse número ímpar é o número de dias. A multiplicação dos tempos 24 e 60 fornecerá o número de minutos, #
Jacob Jan Tuinstra

11
Se alguém quiser obter data e hora em uma célula, ele pode mesclar apenas por adição: A1 + B1.
Wzbozon

9

Se você adicionar a seguinte fórmula D2, os minutos serão calculados automaticamente:

Fórmula

=ARRAYFORMULA(IF(ISBLANK(B2:B)=FALSE,((C2:C-B2:B)*24*60),""))

Explicado

A diferença entre os horários, conforme o formato decimal, é expressa em dias. Portanto, multiplicar os tempos 24 vezes 60 produzirá minutos

Observação

Há um pré-requisito: a coluna D precisa ser formatada como 'normal'.

Exemplo

Veja o arquivo de exemplo que eu criei: Delta Time


7

Para uma solução mais robusta, usamos uma função personalizada.

1. Adicionando a função personalizada

Usando o Editor de scripts (siga as instruções em https://developers.google.com/apps-script/execution_custom_functions ) - escreve:

function toEpoch (indate) {
  return indate.getTime();
}

2. Adicione formulário

Em seguida, na célula, escreve:

=(toEpoch(C2)-toEpoch(B2)) / 60*1000

Que convertem a diferença em milissegundos de época em minutos.


... Eu fiz isso, para ter certeza de convertê-lo e convertê-lo em segundos já (de milissegundos): function toEpoch (data) { return new Date(data) / 1000; }
user1278519

7

Eu fiz muitas experiências. Essa é a maneira mais fácil de calcular um delta de tempo nas planilhas do Google. Formate a célula que contém a fórmula da seguinte maneira:

Formatação de célula de fórmula

Formate> Número> Mais formatos> Mais formatos de data e hora , exclua "segundo" e :. Em seguida, formate o tempo final e no início células momento como este: h:mm am/pm.

Formatação da célula da hora de entrada

Use a fórmula =abs(end time - start time). Isso fornece um valor absoluto, para que não haja valores de tempo negativos.



4

Se você quiser que seu delta de tempo seja medido em dias, use

=DAYS(end_date, start_date)

Isso é verdade. No entanto, vim aqui tentando encontrar a diferença em dias (e voltei mais tarde para dar uma resposta quando a encontrei em outro lugar), o que me leva a supor que minha resposta poderia beneficiar outras pessoas na mesma situação. Como esse é um tópico relacionado, não achei que valesse a pena abrir uma nova pergunta, principalmente porque o título não especifica a unidade de medida. Mas esse foi apenas o meu raciocínio. O que você acha?
e18r

@pnuts Se você encontrar uma resposta útil, mas um pouco fora do escopo da pergunta, também poderá editá-la (neste caso, para dizer minutos ou horas ou dias ou o que for). Eu sou apenas um cara, a pergunta tem 100.000 visualizações.
Stefano Palazzo

3

Você pode tentar TIMEVALUE()também.

No caso acima, a solução seria:

(TIMEVALUE(End Time) - TIMEVALUE(Start Time))*24*60 lhe dará a diferença de tempo em MINUTES.


Bem-vindo, Sujeeth! Boa resposta, adicionei alguma formatação para facilitar a leitura.
Vidar S. Ramdal

1

Nas Planilhas Google, usei a fórmula abaixo

=Round((hour(A2-A1)*60 + minute(A2-A1))/60,2)

para me dar a diferença em horas decimais.


0

Eu uso esta fórmula:

=HOUR(C2-B2)*60+MINUTE(C2-B2)

então

Format -> Number -> More Formats -> Custom number format -> #,##0

-1

=(C2-B1)*1440 defina o formato para "Texto sem formatação".


-1

Para minha aplicação pessoal:

StartTime (columnA)| EndTime(Column B)| Date (Column C)

Isso funcionou para mim:
=if(B4-A4<0,(B4+C4+1)-(A4+C4),B4-A4);Formate a célula como Format \ Time \ Duration.

Para a verdadeira condição: fórmula inspirada nos comentários de Stefano Palazzo.


ps date está associado ao StartTime, mesmo que o StopTime passe para o dia seguinte, e foi por isso que adicionei +1 à data do EndTime. Se o seu EndTime passar por mais de um dia, o +1 obviamente não funcionará mais.
Bob K.

-2

Concordo que o delta do tempo é expresso em dias, para voltar a dizer minutos, você deve multiplicar a diferença por 1440, que é 24 x 60.

Tive esse problema hoje e pensei em mencionar que o outro método simples de obter o horário atual em uma planilha do Google Docs é entrar CONTROL:na célula. Você pode usar isso para as células Horários de início e término.

Se você precisar inserir a data atual em uma célula, isso será alcançado por CONTROL;


11
Obrigado por compartilhar, mas não é uma resposta para a pergunta. Leia mais sobre o tour em nossa central de ajuda . Bem-vindo aos aplicativos da Web !!
Jacob Jan Tuinstra
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.