Sumar horas a una fecha y hora

En la celda A1 tengo una fecha con una hora (13-03-2018 10:30). Tengo una tareas de duran 110 horas, mi horario de trabajo es de 8:00 a 19:00. Y necesito saber la fecha en la que acabarían esas tareas, pero quitando las horas no laborables y los fines de semana.

Si me podéis ayudar, me salváis la vida, ya no sé por donde tirar con el excell

3 Respuestas

Respuesta
2

Te anexo una función

Function CalculaFecFinal(fec As Range, horas As Range)
'Por Dante Amor
    fecfinal = fec.Value
    i = 0
    Do While i < horas.Value
        fecfinal = fecfinal + TimeValue("01:00")
        Select Case Weekday(fecfinal)
            Case 1, 7   'domingo, sábado
            Case Else
                hora = Format(fecfinal, "hh:mm")
                If TimeValue(hora) >= TimeValue("08:00") And _
                   TimeValue(hora) <= TimeValue("19:00") Then
                   i = i + 1
                End If
        End Select
    Loop
    CalculaFecFinal = fecfinal
End Function

Sigue las Instrucciones para una Función

  1. Abre tu libro de excel
  2. Para abrir VBa y poder pegar la función, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la función
  5. En cualquier celda utiliza la función, como cualquier otra función de excel

Ejemplo, en la celda B2 pon la fecha inicial con todo y hora, en la celda C2 pon el número de horas, en la celda D2 pon la siguiente función:

=CalculaFecFinal(B2;C2)


. Avísame cualquier duda.

.

Respuesta

Prueba con:

=A1+COINCIDIR(FALSO;(DIAS.LAB(A1+1;ENTERO(A1)+FILA(INDIRECTO("1:"&2+REDONDEAR.MAS(((B1/A4)/5)*7;0))))*"11:00:00")+("19:00:00"-(A1-ENTERO(A1)))<--"110:00:00";0)

que para el 13/03/2018 como fecha inicial, 110 horas de proceso y 11 horas de trabajo diario devuelve como fecha de finalización el 27/03/2018, que creo que es correcto pero tendrás que hacer más pruebas.

¡Muchas Gracias! 

Se me olvidó decir que en B1 tiene que estar el número de horas del proceso, y en A4 el número de horas laborables. Para no tener que poner esos datos en las celdas indicadas, se podría usar:

=A1+COINCIDIR(FALSO;(DIAS.LAB(A1+1;ENTERO(A1)+FILA(INDIRECTO("1:"&2+REDONDEAR.MAS((("110:00:00"/"11:00:00")/5)*7;0))))*"11:00:00")+("19:00:00"-(A1-ENTERO(A1)))<--"110:00:00";0)

(obviamente también matricial)
Saludos_

Respuesta

Escribe esta fórmula

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas