¿Cómo calculo un delta de tiempo en mis hojas de cálculo de Google?


73

Tengo una hoja de cálculo de Google que se ve más o menos así:

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

En este momento si llevo a mano la cantidad de minutos entre las dos veces del día. ¿Hay una manera directa de calcular un delta de tiempo y que la hoja de cálculo lo haga por mí?

Respuestas:


65

Google ha agregado un nuevo formato de número llamado Duración. Establezca sus campos de inicio y fin en Format -> Number -> Timey su campo de cálculo enFormat -> Number -> Duration

Una vez que haya hecho eso, puede restar los campos para obtener la diferencia como señaló Stefano Palazzo en su respuesta.


51

Sí, si sus campos de hora están formateados correctamente (haga clic en Formato → Número → Hora ) puede simplemente sumar y restar horas:

=C2-B2

o

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

Esto le dará el tiempo delta como HH:MM:SS. Y si se quiere calcular el número de minutos, puede utilizar el Hour(), Minute()y Second()funciones en ese campo:

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

Por supuesto, si hay segundos intercalares, cambios de zona horaria o si un evento demora más de 24 horas, aún tendrá que ajustar los resultados manualmente.

Una advertencia

Si un evento se extiende más allá de la medianoche, digamos de 23:50 a 00:10, ¡esto aparecerá como un tiempo negativo!

Para que estos eventos se manejen 'correctamente', puede poner "24:10" o dividir el evento en dos.

Una mejor manera

Aunque es un poco más difícil ingresar datos, la forma más confiable de hacerlo es marcar el campo inicial y final como "Fecha Hora" y el campo delta como "Horas", que se verá así:

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

Esto ya no parece funcionar. Creo que debe elegir Formato> Número> Horas (frente a tiempo). Obtengo un número decimal muy extraño cuando intento restar la diferencia horaria simple.
Elijah Lynn el

@ElijahLynn este número impar es el número de días. Multiplicar los tiempos 24 y 60 te dará la cantidad de minutos,
Jacob Jan Tuinstra

1
Si alguien quiere obtener la fecha y la hora en una celda, puede fusionarse simplemente agregando: A1 + B1.
wzbozon

9

Si agrega la siguiente fórmula D2, los minutos se calculan automáticamente:

Fórmula

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

Explicado

La diferencia entre los tiempos, según el formato decimal, se expresa en días. Por lo tanto, multiplicar por 24 por 60 producirá minutos

Observación

Hay un requisito previo: la columna D debe formatearse como 'normal'.

Ejemplo

Ver archivo de ejemplo que creé: Delta Time


7

Para una solución más robusta, utilizamos una función personalizada.

1. Agregar la función personalizada

Uso del Editor de secuencias de comandos (siga las instrucciones en https://developers.google.com/apps-script/execution_custom_functions ) - escribe:

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

2. Agregar formulario

Luego en la celda, escribe:

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

Que convierten la diferencia en Epoch milisegundos en minutos.


... Hice esto, para asegurarme de convertirlo y convertirlo a segundos (desde milisegundos): function toEpoch (data) { return new Date(data) / 1000; }
user1278519

7

He hecho mucha experimentación. Esta es la forma más fácil de calcular un delta de tiempo en las hojas de cálculo de Google. Formatee la celda que contiene la fórmula de esta manera:

Formato de celda de fórmula

Formato> Número> Más formatos> Más formatos de fecha y hora , elimine "segundo" y :. A continuación, dar formato a la hora de finalización y puesta en células momento como este: h:mm am/pm.

Formato de celda de tiempo de entrada

Usa la fórmula =abs(end time - start time). Esto le da un valor absoluto, por lo que no habrá valores de tiempo negativos.



4

Si desea que su tiempo delta se mida en días, use

=DAYS(end_date, start_date)

Es verdad. Sin embargo, vine aquí tratando de encontrar la diferencia en días (y volví más tarde para dar una respuesta cuando la encontré en otro lugar), lo que me lleva a suponer que mi respuesta podría beneficiar a otros en mi misma situación. Dado que es un tema tan relacionado, no pensé que valiera la pena abrir una nueva pregunta, especialmente porque el título no especifica la unidad de medida. Pero ese fue solo mi razonamiento. ¿Qué piensas?
e18r

@pnuts Si encuentra una respuesta útil pero ligeramente fuera del alcance de la pregunta, también puede editar la pregunta (en este caso, para decir minutos, horas, días o lo que sea). Solo soy un chico, la pregunta tiene 100.000 visitas.
Stefano Palazzo

3

Puedes intentarlo TIMEVALUE()también.

En el caso anterior, la solución sería:

(TIMEVALUE(End Time) - TIMEVALUE(Start Time))*24*60 le dará la diferencia horaria en MINUTOS.


Bienvenido Sujeeth! Buena respuesta, agregué algunos formatos para que sea más fácil de leer.
Vidar S. Ramdal

1

En Google Sheets, utilicé la fórmula de la siguiente manera

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

para darme la diferencia en horas decimales.


0

Yo uso esta fórmula:

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

entonces

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

-1

=(C2-B1)*1440 luego establezca el formato en "Texto sin formato".


-1

Para mi aplicación personal:

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

Esto funcionó para mí:
=if(B4-A4<0,(B4+C4+1)-(A4+C4),B4-A4);formatee la celda como Formato \ Hora \ Duración.

Para una verdadera condición: fórmula inspirada en los comentarios de Stefano Palazzo.


La fecha ps está asociada con StartTime incluso si StopTime se transfiere al día siguiente, por lo que agregué +1 a la fecha de EndTime. Si su EndTime se acumula por más de un día, +1 obviamente ya no funcionará.
Bob K

-2

Estoy de acuerdo en que el tiempo delta se expresa en días, así que para volver a decir minutos, debe multiplicar la diferencia por 1440, que es 24 x 60.

Tuve este problema hoy y pensé en mencionar que el otro método simple para obtener la hora actual en una hoja de cálculo de Google Docs es ingresar CONTROL:en la celda. Puede usar esto para las celdas de tiempos de inicio y fin.

Si necesita ingresar la fecha actual en una celda, esto se logra mediante CONTROL;


1
Gracias por compartir, pero no es una respuesta a la pregunta. Lea más recorrido que en nuestro centro de ayuda . Bienvenido a las aplicaciones web !!
Jacob Jan Tuinstra
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.