この記事では、エージェントのシフト順守時間を計算するためのカスタム関数またはUDFを作成します。

この例の生データは、エージェントIDと、その日の各エージェントのログイン時間とログアウト時間で構成されます。シフト開始時間とシフト終了時間も定義しました。

ArrowRawData

カスタム関数「TimeInterval」を使用して、シフト順守時間を計算しました。この関数は、入力として4つのパラメーターを取ります。

関数TimeInterval(ログイン、ログアウト、ShiftStartTime、ShiftEndTime)

シフト開始時間はセルC7で定義され、シフト終了時間はセルC8で定義されます。

ArrowOutput

ロジックの説明

シフト順守時間を計算するために、ログイン時間をシフト開始時間に変更しました。ログイン時間がシフト開始時間よりも早い場合、シフト開始時間はログイン時間と見なされます。ログアウト時間がシフト終了時間より遅い場合、シフト終了時間はログアウト時間と見なされます。これで、ログイン時間とログアウト時間の差により、シフト順守時間が得られます。

コードについては以下に従ってください

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

このブログが気に入ったら、FacebookやFacebookで友達と共有してください。

皆様からのご意見をお待ちしております。私たちの仕事を改善し、あなたのために改善する方法をお知らせください。 [email protected]までご連絡ください