El trabajo con horas en Excel es muy común ya que muchas personas lo utilizan para llevar el registro y control de las horas trabajadas o la duración de alguna tarea. En ocasiones se hace necesario redondear horas en Excel porque los sistemas de nómina generalmente trabajan con intervalos de tiempo exacto.
Supongamos el siguiente ejemplo, donde tengo capturados los datos de las horas de entrada y salida de un empleado así como el tiempo utilizado en la comida. La columna Total Horas hace las restas adecuadas para obtener las horas y minutos de trabajo efectivo durante el día:
Ahora supondremos varios escenarios que nos obligarán a redondear horas en Excel para poder cumplir con los requerimientos de nuestro sistema de nómina.
Redondear horas a un intervalo específico
Necesitamos redondear los minutos trabajados en un día a un intervalo de 15 minutos redondeando hacia arriba a partir del minuto 7:30 (la mitad de 15 minutos). Para lograr este comportamiento podemos utilizar la función REDOND.MULT de la siguiente manera:
=NSHORA(HORA(E2), REDOND.MULT(MINUTO(E2), 15), 0)
Usamos la función NSHORA para convertir las horas, minutos y segundos dados como números en un dato de tipo hora. Su primer argumento extrae la hora de la celda E2, el segundo utiliza la función REDOND.MULT con los minutos de la celda E2 y los redondea a un múltiplo de 15. El tercer argumento de la función NSHORA es cero que indica el número de segundos. Observa el resultado de esta fórmula:
Puedes ver que todas las horas han sido redondeadas a un múltiplo de 15. En los casos en que los minutos son menores que la mitad del intervalo se han redondeado hacia abajo.
Redondear horas siempre hacia arriba
En el ejemplo anterior la función REDOND.MULT redondeaba hacia abajo aquellos minutos que estuvieran por debajo de la mitad del intervalo. Si en lugar de ese comportamiento necesitamos que siempre se redondeen los minutos hacia arriba del intervalo podemos utilizar la función MULTIPLO.SUPERIOR de la siguiente manera:
=NSHORA(HORA(E2), MULTIPLO.SUPERIOR(MINUTO(E2), 15), 0)
Esta fórmula hará que todos los minutos sean redondeados siempre hacia arriba al intervalo de 15 minutos más cercano. Observa el resultado:
Redondear horas hacia abajo
Si por el contrario necesitas redondear el dato de tipo hora hacia abajo podemos utilizar la función MULTIPLO.INFERIOR de la siguiente manera:
=NSHORA(HORA(E2), MULTIPLO.INFERIOR(MINUTO(E2), 15), 0)
Observa el resultado de aplicar esta fórmula a los datos de nuestro ejemplo:
Casos especiales de redondeo de horas
Aunque los ejemplos anteriores podrían ayudarte en la mayoría de los casos para redondear horas en Excel, me he encontrado con algunos casos especiales. Por ejemplo, en ocasiones necesitamos que los minutos sean eliminados excepto cuando sean mayores a un número determinado. Con la siguiente fórmula haré que solo en caso de tener 45 o más minutos sea tomado como 1 hora, de lo contrario los minutos no serán tomados en cuanta:
=NSHORA(HORA(E5), SI(MINUTO(E5)>=45, 60, 0), 0)
El objetivo de utilizar la función SI es para saber si la celda E5 tiene 45 minutos o más en cuyo caso devolverá el valor 60 que será interpretado por la función NSHORA como 60 minutos y se encargará de agregar una hora. Observa cómo utilizo esta fórmula con los datos de ejemplo:
Solo en el caso en que los minutos son mayores a 45 se ha tomado en cuenta como 1 hora completa. Los minutos del resto de las celdas se han “redondeado” hacia abajo.
Espero que con estos ejemplos tengas una mejor idea sobre cómo redondear horas en Excel y que puedas utilizar mejor las funciones para dar el formato que necesitas a los datos. Si quieres saber un poco más sobre el redondeo en Excel consulta el artículo: Funciones para redondear.