En este artículo, crearemos una función personalizada o UDF para calcular el tiempo de cumplimiento de turno de los agentes.

Los datos sin procesar para este ejemplo consisten en la identificación del agente junto con la hora de inicio y cierre de sesión de cada agente para el día. También hemos definido la hora de inicio y finalización del turno.

ArrowRawData

Hemos utilizado la función personalizada «TimeInterval» para calcular el tiempo de cumplimiento del turno. Esta función toma cuatro parámetros como entrada.

Función TimeInterval (Iniciar sesión, Cerrar sesión, ShiftStartTime, ShiftEndTime)

La hora de inicio del turno se define en la celda C7 y la hora de finalización del turno se define en la celda C8.

ArrowOutput

Explicación lógica

Para calcular el tiempo de cumplimiento del turno, hemos cambiado el tiempo de inicio de sesión para cambiar el tiempo de inicio. Si la hora de inicio de sesión es anterior a la hora de inicio del turno, la hora de inicio del turno se considerará como hora de inicio de sesión. Si la hora de cierre de sesión es posterior a la hora de finalización del turno, la hora de finalización del turno se considerará como hora de cierre de sesión. Ahora, la diferencia entre el tiempo de inicio de sesión y el de cierre de sesión dará tiempo de cumplimiento del turno.

Siga el código a continuación

Option Explicit

Function TimeInterval(Login As Double, Logout As Double, _

ShiftStartTime As Double, ShiftEndTime As Double)



'Checking whether login time is less than logout time

If Login > Logout Then

TimeInterval = "Login time should be less than logout time"

Exit Function

End If

'If login is less than shift start time then changing login time to shift start time

If Login < ShiftStartTime Then Login = ShiftStartTime

'If logout is greater than shift end time then changing logout time to shift end time

If Logout > ShiftEndTime Then Logout = ShiftEndTime

TimeInterval = Logout - Login

End Function

Si te gustó este blog, compártelo con tus amigos en Facebook y Facebook.

Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos a [email protected]