Fórmula de fecha y hora de Excel: redondear valor de celda


1

Estoy preparando un informe de estadísticas de uso para un sistema de reserva de sala de estudio grupal que utilizamos en la biblioteca donde trabajo. He exportado todas las reservas de MySQL en Excel durante el año pasado y estoy tratando de llegar a una cifra promedio para todas las reservas programadas.

La fórmula que estoy usando para calcular las diferencias entre la hora de inicio y la hora de finalización de cada reserva (=TEXT[end_time]-[start_time],"h:mm")funciona muy bien, pero tengo un problema. Los horarios de finalización de las reservas se enumeran como 00:29 cuando uno termina en la media hora y 00:59 cuando termina en la hora.

Tengo un par de miles de líneas en mi hoja de cálculo y no quiero recurrir al uso de Buscar y reemplazar para cambiar estos valores a 00:30 y 00:00. ¿Hay alguna manera de modificar mi fórmula para que redondee el tiempo de finalización o posiblemente agregue un minuto al tiempo de finalización en la fórmula?


Realmente espero que se refiera a su fórmula =TEXT([end_time]-[start_time],"h:mm)porque tener el paréntesis abierto antes de los iguales generalmente no funciona.
Iszi

Además, es un poco extraño que sus fórmulas regresen 29 y 59 minutos. Las pruebas de muestra por mi cuenta sugieren que debería ser incluso 30 y 60 si las reuniones comienzan y terminan en horas y media horas. ¿Quizás los datos de su base de datos incluyen segundos? Podríamos evitar eso en su lugar.
Iszi

Respuestas:


1

Edición basada en el comentario de Iszi:

end_time - start_time + TIME(0,1,0)

Documentación para la función TIME ()

Respuesta original:

Puede agregar 1 minuto en su cálculo end_time - start_time al darse cuenta de que en Excel 1 día es igual al número entero 1, por lo que su fórmula sería algo así como:

end_time - start_time + 1/24/60

(Dividiendo por 24 horas y 60 minutos).


Sin tener que hacer el cálculo usted mismo, podría hacerlo en su +TIME(0,1,0)lugar.
Iszi

1

Podrías hacerlo sin matemáticas. Para la hora de inicio en A1 y la hora de finalización en B2:

=SUBSTITUTE(SUBSTITUTE(TEXT(B1-A1,"h:mm"),":29",":30"),":59",":00")

SUSTITUTO es una función de sustitución de texto bastante simple. Requiere tres parámetros:

  1. Texto original
  2. Cadena para ser reemplazado.
  3. Cadena de repuesto.

SUBSTITUTE solo reemplaza el texto cuando hay una coincidencia con el parámetro 2, y luego solo reemplaza el texto coincidente: el resto de la cadena se deja solo, y las cadenas que no tienen una coincidencia se dejan intactas.

Entonces, comenzamos arriba con el cálculo del tiempo original de su pregunta. Eso se pasa a un SUSTITUTO que verifica ": 29" y lo reemplaza por ": 30". (Si no se encuentra ": 29", no hace nada.) La cadena resultante se pasa al SUSTITUTO más externo que verifica ": 59" y reemplaza con ": 00" según sea necesario.


0

Si sus horas de inicio y finalización son exactamente las horas y media horas, sus fórmulas no deberían devolver duraciones de 29 o 59 minutos. Espero que sea posible que la exportación de la base de datos también incluya algunos segundos en los tiempos. Podemos eliminar completamente los segundos y calcular duraciones que suponen que el inicio / finalización son cero segundos en cada minuto, de esta manera:

(El inicio está en A1. El final está en B1)

=TEXT(TIME(HOUR(B1),MINUTE(B1),0)-TIME(HOUR(A1),MINUTE(A1),0),"h:mm")

HORA es una función que generará un "número de serie" de Excel usando horas, minutos y segundos dados, y luego lo mostrará en un formato de hora estándar. Los "números de serie" son cómo Excel almacena los valores de fecha / hora en el back-end. Cuando ve algo como 8/1/2014 15:26:57en una celda que se configuró para el formato de fecha / hora, Excel en realidad está almacenando el valor como 41852.64372: esto representa el número de días (con la porción decimal como una fracción de un día) desde aproximadamente 1/1/1900 0:00:00(es un poco más complicado que eso, pero esto ya es más de lo que necesitas saber).

HORA y MINUTO son funciones (sí, hay un SEGUNDO - y un DÍA, MES y AÑO si los necesita) que devuelven sus porciones respectivas desde un número de serie de fecha / hora.

Entonces, lo que estamos haciendo arriba es tomar los tiempos de A1 y B1, poner a cero los segundos de cada uno de ellos y luego restarlos.


Supuse que decían que las horas de inicio son todas en la hora o media hora (por ejemplo, 0 o 30), y las horas de finalización son un minuto antes (por ejemplo, 29 y 59), probablemente debido a cómo funciona el software de programación (sin superposición inicio / paradas).
ernie

No puedo decir con certeza los detalles aquí, por lo que todo es posible. Hay alrededor de treinta formas diferentes de desollar este gato independientemente.
Iszi
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.