Hàm tính thời gian thao tác

  • Thread starter Thread starter Gau_Bo
  • Ngày gửi Ngày gửi
Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài
Chào các bạn,
- Mình đang xây dựng công thức tính thời gian thao tác của nhân viên, trong quá trình làm việc xảy ra các yêu cầu như sau:
  • Nghỉ giải lao 10ph từ 10h đến 10h10
  • Nghỉ trưa 60ph từ 12h đến 13h
  • Nghỉ giải lao 10ph từ 15h đến 15h10
- Vì thời gian thao tác của nhân viên khi nhập vào bị ngắt quãng liên tục không cố định nên mình cần xây dựng 1 công thức bao quát.

View attachment 284470

Lúc trước chỉ có nghỉ trưa từ 12h đến 13h nên công thức mình cũng bao quát sơ sơ được, giờ ra thêm cái giờ giải lao nên đang rối ạ.
Công thức lúc trước:
=(IF(AND(HOUR(A3)<12;HOUR(B3)>=13);B3-A3-"01:00";IF(AND(HOUR(A3)=12;HOUR(B3)=13);B3-A3-"00:15";B3-A3)))*1440
Mong mọi người cho ý kiến
Xin cám ơn!


Bạn kiểm tra cột G nhé!


Công thức như sau:

Mã:
=IF(AND($E2<$M$3,$F2>$M$7),($F2-$E2)*1440-80,
IF(AND($E2>=$M$5,$E2<=$M$3,$F2>=$M$6,$F2<=$M$4),($F2-$E2)*1440-60,
IF(OR(AND($E2<=$M$2,$F2>=$M$5,$F2<=$M$3),AND($E2<=$M$4,$F2>=$M$7,$F2>=$M$6)),($F2-$E2)*1440-10,
IF(OR(AND($E2<=$M$2,$F2>=$M$6,$F2<=$M$4),AND($E2>=$M$5,$F2>=$M$4,$E2<=$M$3,$F2>=$M$7)),($F2-$E2)*1440-70,(F2-E2)*1440))))
 

File đính kèm

File đính kèm

  • 1670688517958.png
    1670688517958.png
    822 bytes · Đọc: 8
Nếu đúng thì chỉ có 15p thôi. Chắc phải thêm đoạn nào nữa mới được.
Đang xem bóng mà phải gác sang tét hàm.
quỷ thần ơi, 14h45 đến 15h là 15p rồi, ở đây 15h05p mà k chịu ra 20p. tại nó đâu làm qua 15h10 đâu mà dc nghỉ 10p nên 5p đo tính luôn k dc bỏ
 
k sai đề. nhưng nó15h10 mới dc tính nghỉ 10p. nó chưa dc 15h10 sao dc tính nghri
Chắc mình hiểu theo ý khác. Tức là làm việc chăm quá, lố 5p nghỉ, lúc tính lương chỉ được tính 15p, còn của bạn thì làm vào giờ nghỉ sẽ được tính thêm 5p. Do cách hiểu khác nhau.
 
Chắc mình hiểu theo ý khác. Tức là làm việc chăm quá, lố 5p nghỉ, lúc tính lương chỉ được tính 15p, còn của bạn thì làm vào giờ nghỉ sẽ được tính thêm 5p. Do cách hiểu khác nhau.
vậy nếu ng ta làm
Chắc mình hiểu theo ý khác. Tức là làm việc chăm quá, lố 5p nghỉ, lúc tính lương chỉ được tính 15p, còn của bạn thì làm vào giờ nghỉ sẽ được tính thêm 5p. Do cách hiểu khác nhau.
tức là có làm qua mốc nghỉ thì mới trừ nghỉ, còn nếu k làm qua mốc thì tính luôn phần đã làm

VD: làm từ 11h đến 12h 55 k lẻ tính 60p à, 55p của ng ta đâu? khi nào làm đến 13h05 thì mới tính 65p
 
vậy nếu ng ta làm

tức là có làm qua mốc nghỉ thì mới trừ nghỉ, còn nếu k làm qua mốc thì tính luôn phần đã làm

VD: làm từ 11h đến 12h 55 k lẻ tính 60p à, 55p của ng ta đâu? khi nào làm đến 13h05 thì mới tính 65p
Theo mình thì 55p đấy phải tách riêng, đưa vào hệ số làm thêm khác hoặc trừ đi vì không khuyến khích làm vào giờ nghỉ.
Nói chung mình vẫn không vừa ý với các kết quả này.
 

File đính kèm

  • 1670689739246.png
    1670689739246.png
    2.4 KB · Đọc: 6
Theo mình thì 55p đấy phải tách riêng, đưa vào hệ số làm thêm khác hoặc trừ đi vì không khuyến khích làm vào giờ nghỉ.
Nói chung mình vẫn không vừa ý với các kết quả này.
nếu k khuyến khích sẽ k có thực tết giờ đó đâu. tạm đủ đáp ứng dc cho chủ topic
Bài đã được tự động gộp:

Theo mình thì 55p đấy phải tách riêng, đưa vào hệ số làm thêm khác hoặc trừ đi vì không khuyến khích làm vào giờ nghỉ.
Nói chung mình vẫn không vừa ý với các kết quả này.
cái bạn đang đưa ra là tìm lỗi của hàm

chứ thật sự thực tế ai là làm vào mốc đó làm gì, nếu có làm thì chấm thêm cho ng ta có sao đâu, thêm mỗỗi 5p rồi về hẳn chứ có làm nữa đâu, nếu còn làm thêm nữa thì đã trừ ra
 
VD: làm từ 11h đến 12h 55 k lẻ tính 60p à, 55p của ng ta đâu? khi nào làm đến 13h05 thì mới tính 65p
Với mấy cái ảnh mình chụp thì hàm bác Hiệp là quá chuẩn đấy. Dùng hàm if là phải bao quát rất nhiều khả năng xảy ra, không để ý tí là thiếu ngay, mà hàm dài khi sửa cũng khó lắm, chứ nếu sửa dễ thì bác Bill không khống chế số lượng hàm if lồng nhau làm gì (ý chủ quan).
 
Cám ơn bác nhiều.
Em xin nói rõ thêm cho bác hiểu như sau:
- 1 ngày làm việc có thể bắt đầu từ 6h sáng đến 10h tối.
- Có 3 lần nghỉ giải lao trong ngày:
+ 10h đến 10h10
+ Nghỉ trưa từ 12h đến 13h
+ 15h đến 15h10
- Thời gian nhập vào nếu chứa 1 trong các mốc trên thì sẽ bị trừ ra.
- Nếu người đó làm 1 việc từ 6h sáng đến 6h tối thì tổng phải trừ là 10ph buổi sáng + 60ph trưa + 10ph chiều = 80ph
- Mốc thời gian nhập vào có thể là bất kỳ vì rất nhiều nhân viên, mốc thời gian nhập vào không giống nhau nên mình cần 1 công thức bao quát các trường hợp.
Cám ơn bác Hiệp đã bỏ thời gian giúp đỡ, nếu được nhờ bác hoàn thiện lại công thức giúp mình.
Mình xin số zalo để tiện liên hệ và mời bác 1 ly cafe cám ơn nhé.
Mình gửi lại file, trong file có dòng bôi đỏ bị sai.
Mốc giờ khác nhau thì kết quả sẽ ra khác nhau. Do vậy tôi mới bảo bạn là tôi chỉ tính trong khung giờ từ 7:00->19:00. Nếu khung giờ của bạn tính trong khoảng từ 6:00->20:00, thì chỉnh lại L2= 6:00, và công thức như sau:

I2=SUMPRODUCT(TEXT((E2:F2-$L$2:$L$8)*1440,"[<0]\0;[<"&{240;0;110;0;120;0;290}&"];\"&{"24\0";0;"11\0";0;"12\0";0;"29\0"})*{-1,1})

Enter, fill xuống.

Thân

Gửi anh em: @Hoàng Tuấn 868, @cantailieu, @anh em khác đang tham khảo ... :-)

Công thức này anh học từ 1 người bạn trên diễn đàn, tư duy người bạn này thật đáng nể phục, anh thật sự không bằng, và học được rất nhiều kiến thức hay từ người bạn đó.

Lúc nào rảnh thời gian chút, sẽ giải thích sơ công thức trên cho anh em tham khảo. Vậy nhen! Không khó lắm đâu.

Thân
/-*+//-*+//-*+/
 

File đính kèm

Mốc giờ khác nhau thì kết quả sẽ ra khác nhau. Do vậy tôi mới bảo bạn là tôi chỉ tính trong khung giờ từ 7:00->19:00. Nếu khung giờ của bạn tính trong khoảng từ 6:00->20:00, thì chỉnh lại L2= 6:00, và công thức như sau:

I2=SUMPRODUCT(TEXT((E2:F2-$L$2:$L$8)*1440,"[<0]\0;[<"&{240;0;110;0;120;0;290}&"];\"&{"24\0";0;"11\0";0;"12\0";0;"29\0"})*{-1,1})

Enter, fill xuống.

Thân

Gửi anh em: @Hoàng Tuấn 868, @cantailieu, @anh em khác đang tham khảo ... :)

Công thức này anh học từ 1 người bạn trên diễn đàn, tư duy người bạn này thật đáng nể phục, anh thật sự không bằng, và học được rất nhiều kiến thức hay từ người bạn đó.

Lúc nào rảnh thời gian chút, sẽ giải thích sơ công thức trên cho anh em tham khảo. Vậy nhen! Không khó lắm đâu.

Thân
/-*+//-*+//-*+/
Dạ, chân thành cảm ơn anh nhiều ạ.
 
Mốc giờ khác nhau thì kết quả sẽ ra khác nhau. Do vậy tôi mới bảo bạn là tôi chỉ tính trong khung giờ từ 7:00->19:00. Nếu khung giờ của bạn tính trong khoảng từ 6:00->20:00, thì chỉnh lại L2= 6:00, và công thức như sau:

I2=SUMPRODUCT(TEXT((E2:F2-$L$2:$L$8)*1440,"[<0]\0;[<"&{240;0;110;0;120;0;290}&"];\"&{"24\0";0;"11\0";0;"12\0";0;"29\0"})*{-1,1})

Enter, fill xuống.

Thân

Gửi anh em: @Hoàng Tuấn 868, @cantailieu, @anh em khác đang tham khảo ... :)

Công thức này anh học từ 1 người bạn trên diễn đàn, tư duy người bạn này thật đáng nể phục, anh thật sự không bằng, và học được rất nhiều kiến thức hay từ người bạn đó.

Lúc nào rảnh thời gian chút, sẽ giải thích sơ công thức trên cho anh em tham khảo. Vậy nhen! Không khó lắm đâu.

Thân
/-*+//-*+//-*+/
Bác biến kiến thức người khác thành kiến thức của mình quá là tuyệt vời rồi. Còn bác 1.5 thì quá đáng nể hihi. Em vẫn biết bài đó còn có khúc trừ thứ 7 chủ nhật ra nữa cơ :D
 
Web KT

Bài viết mới nhất

Back
Top Bottom