Trong bài viết này, chúng tôi sẽ tạo một hàm tùy chỉnh hoặc UDF để tính toán thời gian tuân thủ ca cho các tác nhân.

Dữ liệu thô cho ví dụ này bao gồm id tác nhân cùng với thời gian đăng nhập và đăng xuất của từng tác nhân trong ngày. Chúng tôi cũng đã xác định thời gian bắt đầu ca làm việc và kết thúc ca làm việc.

ArrowRawData

Chúng tôi đã sử dụng chức năng tùy chỉnh “TimeInterval” để tính toán thời gian tuân thủ thay đổi. Hàm này nhận bốn tham số làm đầu vào.

Chức năng TimeInterval (Đăng nhập, Đăng xuất, ShiftStartTime, ShiftEndTime)

Thời gian bắt đầu ca được xác định trong ô C7 và thời gian kết thúc ca được xác định trong ô C8.

ArrowOutput

Giải thích logic

Để tính toán thời gian tuân thủ ca, chúng tôi đã thay đổi thời gian đăng nhập thành thời gian bắt đầu ca. Nếu thời gian đăng nhập sớm hơn thời gian bắt đầu ca thì thời gian bắt đầu ca sẽ được coi là thời gian đăng nhập. Nếu thời gian đăng xuất muộn hơn thời gian kết thúc ca làm việc thì thời gian kết thúc ca sẽ được coi là thời gian đăng xuất. Bây giờ, sự khác biệt giữa thời gian đăng nhập và đăng xuất sẽ cung cấp thời gian tuân thủ thay đổi.

Vui lòng theo dõi bên dưới để biết mã

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

Nếu bạn thích blog này, hãy chia sẻ nó với bạn bè của bạn trên Facebook và Facebook.

Chúng tôi rất muốn nghe ý kiến ​​từ bạn, hãy cho chúng tôi biết cách chúng tôi có thể cải thiện công việc của mình và làm cho nó tốt hơn cho bạn. Viết thư cho chúng tôi [email protected]