sábado, agosto 29, 2009

Redondeo condicional de horas en Excel

Al trabajar con horas en Excel, por ejemplo en una plantilla horaria, suele surgir la necesidad de redondear los intervalos por múltiplos de minutos. Por ejemplo, si pagamos por medias horas o por intervalos de 15 minutos.

En la nota sobre redondeo de horas en Excel mostré algunas técnicas para esta tarea con la función REDONDEAR. La regla general es

=REDONDEAR(A1*(60/m*24),0)/(60/m*24)

donde m es la cantidad de minutos en el múltiplo y la celda A1 contiene la hora a redondear.

También podemos usar la función REDOND.MULT de esta manera

=NSHORA(HORA(A1),REDOND.MULT(MINUTO(A1),m),0)

Si necesitamos redondear hacia arriba o hacia abajo podemos usar las funciones MULTIPLO.SUPERIOR o MULTIPLO.INFERIOR respectivamente.

Para redondear hacia arriba usamos la fórmula

=NSHORA(HORA(A1),MULTIPLO.SUPERIOR(MINUTO(A1),m),0)

Para redondear hacia abajo usamos

=NSHORA(HORA(A1),MULTIPLO.INFERIOR(MINUTO(A1),m),0)


Otra variante es redondear hacia arriba o hacia abajo condicionalmente.

Por ejemplo, los primeros 15 minutos son ajustados hacia abajo; a partir del minuto 16 se ajusta hacia arriba.

Supongamos que hasta los primeros 15 minutos queremos ajustar hacia la hora pasada más cercana y a partir del minuto 16 hacia la hora próxima.

Para calcular este ajuste usamos una fórmula con la función SI, donde

A1 contiene la hora a evaluar

A2 el intervalo de ajuste (15 minutos en nuestro caso)

=SI(MINUTO(A1)<=A2,NSHORA(HORA(A1),MULTIPLO.INFERIOR(MINUTO(A1),60),0),NSHORA(HORA(A1),MULTIPLO.SUPERIOR(MINUTO(A1),60),0))

En esta fórmula usamos la constante 60 ya que ajustamos por horas completas. Buen fin de semana!

Technorati Tags:

6 comentarios:

  1. Excelente Nota Jorge, que Dios lo tenga por mucho tiempo entre nosostros enseñandonos las bondades de excel.
    Saludos, JDPR.

    ResponderBorrar
  2. Genial, era lo que buscaba y te habia consultado en el otro post. Muchisimas Gracias!

    ResponderBorrar
  3. excelente me ayudo mucho

    ResponderBorrar
  4. podrias poner un ejemplo en un excel 2010 gracias

    ResponderBorrar
  5. No hay diferencias entre las distintas versiones de Excel en lo que funciones se refiere. Puedes usar los ejemplos de la nota en Excel 2010.

    ResponderBorrar
  6. Yo tengo una consulta, si quiero redondear horas desde 01:00 hasta 22:00 no hay problema, el problema surge cuando a partir de 24:00 obtengo cero (0) y de ahí comienza el conteo (01:00, 02:00...etc) Quisiera que se sumaran, por ejemplo: 25:00, 26:00...etc.
    Espero haberme explicado.

    Saludos,

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.