Pregunta Restar unidades de tiempo (no la hora del día)


¿Cómo restar TIME UNIT (no la hora del día)? El año pasado corrí una maratón en 48 minutos y 20 segundos. Este año corrí una maratón en 47 minutos y 50 segundos. Cuando hago esto en Excel, probé todos los formatos imaginables de tiempo (incluido [h]mm:ss) y nada funciona. Estoy esperando un resultado de -00:00:30 (o negativo 30 segundos).


4


origen


Hmm. El actual récord mundial de maratón es 2:03:23 por Wilson Kipsang Kiprotich. ¿Has enviado tu tiempo a la IAAF? :) - DavidPostill♦


Respuestas:


Excel usa fracciones de un día para almacenar el tiempo. Entonces, 3 horas se almacenan como 0.125 (3/24). El tiempo se almacena como un valor de fecha / hora. Excel comienza a contar las fechas desde el 1 de enero de 1900 a 12:00 a.m. (1/2/1904 12:00 a.m. en Excel para Mac). Entrar en un tiempo de 0:48:20 es en realidad el 1 de enero de 1900, 0:48:20 horas. Excel no funciona con valores negativos para la fecha / hora, por lo que restar a un valor negativo da como resultado un error (celda con "#######").

Otro desafío es hacer que Excel entienda que para las 48:20 significa 48 minutos y 20 segundos y no 48 horas y 20 minutos. Hay dos maneras de hacer esto:

  • Usa la notación de la hora. 48 minutos y 20 segundos se convierten en: 0:48:20
  • Utilizar el TIME función: =TIME(0;48;20)

Una tercera cosa a considerar es el formato de las celdas. En el formato personalizado, puede usar [h]: mm: ss o [m]: ss. Los corchetes indican a Excel que debe contar el número de horas ([h]) o minutos ([m]) y no debe volver a cero después de 23 horas o después de 59 minutos. Entonces, en su caso, asegúrese de que el formato de las celdas sea: [m]:ss

Para resumir: no existe una manera "lista para usar" para hacer lo que desea porque Excel no sabe cómo manejar los valores de tiempo negativos.

Si tu De Verdad Si quiere calcular lo que está pidiendo, podría usar la siguiente fórmula (un poco más compleja), que resta A1 de A2: =IF( A2-A1 < 0; "-"; "") & TEXT( ABS(A2-A1); "[m]:ss" ). Lo que realmente hace es restar los tiempos, convertirlo a un número positivo (ABS), lo formatea como una cadena (TEXT) y pone un "-" en frente cuando es negativo. Tenga en cuenta que el resultado es un texto y no un número (valor).

Microsoft tiene dos artículos; uno sobre almacenar valores de fecha y hora (desplácese hacia abajo hasta aproximadamente la mitad del artículo) y una acerca de sumar y restar tiempo.


5



Bonito. Sin embargo, para obtener el resultado solicitado, no IF la magia es necesaria en absoluto; solo usa el formateo. (Al menos, eso funciona bien en OpenOffice; no se puede validar en Microsoft Excel) - Arjan
Intenté eso y la función TEXTO me da una #VALUE! error si el primer argumento es negativo. Es por eso que fui por la magia IF. - agtoever
No TEXT necesario tampoco. Simplemente ingrese los tiempos, formatee como lo desee y reste los dos. Mi Captura de pantalla de OpenOffice es en realidad solo formateo y resta simple. (Los formatos que se muestran en la fila de encabezado, las fórmulas en la columna B se muestran en la columna C.) - Arjan
Klabam! Otro ejemplo donde OpenOffice funciona mejor que MS Excel. ;-PAG - agtoever
...Estás seguro TEXT es necesario en Excel? Suena extraño. - Arjan


Sobresalir poder manejar tiempos negativos ... pero solo si usa el "sistema de fechas 1904", en lugar del sistema de fechas predeterminado de Excel 1900

Para configurarlo para un libro de trabajo específico, haga lo siguiente:

Archivo> Opciones> Avanzado> Desplácese hasta la sección "Al calcular este libro de trabajo" (hacia abajo) y marque la casilla "Sistema de fechas 1904".

A veces puede tener efectos no deseados. No cambie al sistema de fechas 1904 en un libro de trabajo donde ya tiene fechas, porque la fecha base es 1/1/1904 más bien que 1/0/1900 las fechas cambiarán por 4 años y un día (1462 días).

Ver captura de pantalla:

enter image description here


3



Wow, eso es raro, buen descubrimiento. Solo para la posteridad: ¿cuáles son los resultados si uno usa el sistema 1900 anterior? Un mensaje de error? ¿Resultados incorrectos? - Arjan
@Arjan: si está utilizando el sistema de fecha 1900, obtendrá la pantalla estándar para los tiempos negativos, es decir, ############ - barry houdini


Esto funciona, la función de tiempo no puede aceptar 24 horas, pero solo engañe con 23 horas, luego corrija después ...

=IF(A1<B1,TIME(23,0,0)-A1+B1+TIME(1,0,0),B1-A1)

-1



¿Cuál es la ventaja de restar resultado de 24 horas? ¿La pregunta es solicitar recibir también valores negativos? - Máté Juhász