Tính tốc độ xử lý hồ sơ (chỉ tính trong thời gian làm việc)

Liên hệ QC

ducleminh

Thành viên chính thức
Tham gia
3/10/07
Bài viết
66
Được thích
3
Mình có bài toán sau, nhờ các bạn chỉ giúp với:

Khi hồ sơ nhập vào hệ thống sẽ lưu lại thời gian thành "Hồ sơ vào"
Khi hồ sơ được xử lý xong, hệ thống sẽ lưu lại thời gian thành "Hồ sơ ra"
Mình muốn tính thời gian hồ sơ được xử lý ( "Hồ sơ ra" - "hồ sơ vào") nhưng chỉ là thời gian trong giờ làm việc, do đó phải:
- Trừ ra giờ nghỉ trưa (nếu có)
- Trừ ra giờ nghỉ giữa 2 ngày (buổi tối về nhà)
- Trừ ra ngày chủ nhật (nếu có)

Các bạn hỗ trợ mình với nha (xem file đính kèm)
 

File đính kèm

  • Thoi gian xu ly.xls
    18.5 KB · Đọc: 30
Chà, không ai hỗ trợ mình với
 
Ko ai trả lời thiệt luôn
 
Mình có bài toán sau, nhờ các bạn chỉ giúp với:

Khi hồ sơ nhập vào hệ thống sẽ lưu lại thời gian thành "Hồ sơ vào"
Khi hồ sơ được xử lý xong, hệ thống sẽ lưu lại thời gian thành "Hồ sơ ra"
Mình muốn tính thời gian hồ sơ được xử lý ( "Hồ sơ ra" - "hồ sơ vào") nhưng chỉ là thời gian trong giờ làm việc, do đó phải:
- Trừ ra giờ nghỉ trưa (nếu có)
- Trừ ra giờ nghỉ giữa 2 ngày (buổi tối về nhà)
- Trừ ra ngày chủ nhật (nếu có)

Các bạn hỗ trợ mình với nha (xem file đính kèm)

Công thức "củ khoai" xem sao?
Tại D3 dùng công thức sau rồi fill xuống
PHP:
=C3-B3-TIME(C3-B3+(INT((C3-WEEKDAY(C3)-B3+8)/7)*24+DATEDIF(B3,C3,"d")*15),0,0)
Nhớ mặc định cột D: Custom -> Mục Type gõ: [h]:mm:ss

Bạn kiểm tra xem?
 
Lần chỉnh sửa cuối:
Chưa đúng rồi bạn ơi, ngay dòng đầu tiên A3:D3, nếu lấy C3-B3 thì ra 841:06:30, còn nhập công thức của bạn thì ra 833:06:30
Vậy chênh lệch nhau có 8 tiếng (khoảng chênh lệnh này phải phản ánh đúng tổng thời gian nghỉ giữa giờ, nghỉ qua ngày, nghỉ chủ nhật). Mà từ 3/6 đến 8/7 khoảng thời gian nghỉ đó không thể chỉ là 8 tiếng được, hic hic
 
Thử múa rìu qua mắt thợ xem sao

Nhưng cũng chưa xong, xem thử có ích cho bạn không!
 

File đính kèm

  • GPE.rar
    15.2 KB · Đọc: 22
Chưa đúng rồi bạn ơi, ngay dòng đầu tiên A3:D3, nếu lấy C3-B3 thì ra 841:06:30, còn nhập công thức của bạn thì ra 833:06:30
Vậy chênh lệch nhau có 8 tiếng (khoảng chênh lệnh này phải phản ánh đúng tổng thời gian nghỉ giữa giờ, nghỉ qua ngày, nghỉ chủ nhật). Mà từ 3/6 đến 8/7 khoảng thời gian nghỉ đó không thể chỉ là 8 tiếng được, hic hic

Tôi có sự nhầm lẫn, Bạn xem lại công thức sau:
PHP:
=C3-B3-INT((C3-WEEKDAY(C3)-B3+8)/7)-DATEDIF(B3,C3,"d")*16/24
 
Mình có bài toán sau, nhờ các bạn chỉ giúp với:

Khi hồ sơ nhập vào hệ thống sẽ lưu lại thời gian thành "Hồ sơ vào"
Khi hồ sơ được xử lý xong, hệ thống sẽ lưu lại thời gian thành "Hồ sơ ra"
Mình muốn tính thời gian hồ sơ được xử lý ( "Hồ sơ ra" - "hồ sơ vào") nhưng chỉ là thời gian trong giờ làm việc, do đó phải:
- Trừ ra giờ nghỉ trưa (nếu có)
- Trừ ra giờ nghỉ giữa 2 ngày (buổi tối về nhà)
- Trừ ra ngày chủ nhật (nếu có)

Các bạn hỗ trợ mình với nha (xem file đính kèm)
Công thức hơi dài:
Mã:
=(INT(C3)-INT(B3)+1-INT((C3-WEEKDAY(C3)-B3+8)/7))/3-IF(WEEKDAY(B3)=1,0,MAX(0,MIN(17.5/24,MOD(B3,1))-8.5/24+MIN(0,12.5/24-MIN(MOD(B3,1),13.5/24))))-IF(WEEKDAY(C3)=1,0,MAX(0,17.5/24-MAX(8.5/24,MOD(C3,1))-MAX(0,13.5/24-MAX(MOD(C3,1),12.5/24))))
Bạn tự kiểm tra lại xem có chỗ nào chưa đúng không nhé.
 

File đính kèm

  • Tinh thoi gian.xls
    27.5 KB · Đọc: 30
Bạn ơi, bạn có thể vui lòng giải thích công thức của bạn được ko, mình muốn hiểu để áp dụng
 
Web KT
Back
Top Bottom