Microsoft ExcelでVBAを使用して、指定されたシフト用のシフト順守時間を計算
この記事では、エージェントのシフト順守時間を計算するためのカスタム関数またはUDFを作成します。
この例の生データは、エージェントIDと、その日の各エージェントのログイン時間とログアウト時間で構成されます。シフト開始時間とシフト終了時間も定義しました。
カスタム関数「TimeInterval」を使用して、シフト順守時間を計算しました。この関数は、入力として4つのパラメーターを取ります。
関数TimeInterval(ログイン、ログアウト、ShiftStartTime、ShiftEndTime)
シフト開始時間はセルC7で定義され、シフト終了時間はセルC8で定義されます。
ロジックの説明
シフト順守時間を計算するために、ログイン時間をシフト開始時間に変更しました。ログイン時間がシフト開始時間よりも早い場合、シフト開始時間はログイン時間と見なされます。ログアウト時間がシフト終了時間より遅い場合、シフト終了時間はログアウト時間と見なされます。これで、ログイン時間とログアウト時間の差により、シフト順守時間が得られます。
コードについては以下に従ってください
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]までご連絡ください