Calcolo time shift aderenza per un dato spostamento utilizzando VBA in Microsoft Excel
In questo articolo creeremo una funzione personalizzata o UDF per calcolare il tempo di aderenza del turno per gli agenti.
I dati grezzi per questo esempio sono costituiti dall’ID agente insieme all’ora di accesso e disconnessione di ciascun agente per la giornata. Abbiamo anche definito l’ora di inizio e di fine turno.
Abbiamo utilizzato la funzione personalizzata “TimeInterval” per calcolare il tempo di aderenza del turno. Questa funzione accetta quattro parametri come input.
Funzione TimeInterval (Login, Logout, ShiftStartTime, ShiftEndTime)
L’ora di inizio del turno è definita nella cella C7 e l’ora di fine del turno è definita nella cella C8.
Spiegazione logica
Per calcolare l’ora di aderenza del turno, abbiamo modificato l’ora di accesso all’ora di inizio del turno. Se l’ora di accesso è precedente all’ora di inizio del turno, l’ora di inizio del turno verrà considerata come ora di accesso. Se l’ora di logout è in ritardo rispetto all’ora di fine del turno, l’ora di fine del turno sarà considerata come l’ora di logout. Ora, la differenza tra il tempo di accesso e quello di disconnessione darà il tempo di adesione del turno.
Segui sotto per il codice
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
Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook e Facebook.
Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected]