Cách tính thời gian đáp ứng (1 người xem)

  • Thread starter Thread starter trungpp
  • Ngày gửi Ngày gửi

Người dùng đang xem chủ đề này

trungpp

Thành viên mới
Tham gia
16/10/09
Bài viết
37
Được thích
1
Chào cả nhà GPE,
Mình đang có 01 vấn đề cần nhờ mọi người hỗ trợ giúp với, cụ thể:
- Mình đang cần tính thời gian đáp ứng của đối tác trong công việc
- Giám sát thông qua theo dõi số ngày, số phút đáp ứng của từng nhu cầu gửi cho họ
- Khung giờ làm việc của họ mỗi ngày là từ 08h sáng đến 17h buổi chiều, ngoài khung giờ trên thì mình không đựơc tính đáp ứng, Thứ 7, CN, lễ nghỉ
Ví dụ: nếu yêu cầu gửi vào lúc 17h05 thì mặc định thời gian order sẽ được tính từ 08h sáng ngày hôm sau.

Mục tiêu: tính tổng số ngày làm việc, số giờ làm việc, số phút làm việc của 01 yêu cầu công việc mà đối tác đã thực hiện yêu cầu, từ đó mình sẽ biết được là họ đã đáp ứng được yêu cầu theo hợp đồng hay không.

Mình gửi file đính kèm, nhờ các cao nhân hỗ trợ giúp. Mình tính thử vài cách nhưng nó không bao quát hết được các trường hợp.

Cám ơn mọi người trước.
Trungpp
 

File đính kèm

Chào cả nhà GPE,
Mình đang có 01 vấn đề cần nhờ mọi người hỗ trợ giúp với, cụ thể:
- Mình đang cần tính thời gian đáp ứng của đối tác trong công việc
- Giám sát thông qua theo dõi số ngày, số phút đáp ứng của từng nhu cầu gửi cho họ
- Khung giờ làm việc của họ mỗi ngày là từ 08h sáng đến 17h buổi chiều, ngoài khung giờ trên thì mình không đựơc tính đáp ứng, Thứ 7, CN, lễ nghỉ
Ví dụ: nếu yêu cầu gửi vào lúc 17h05 thì mặc định thời gian order sẽ được tính từ 08h sáng ngày hôm sau.

Mục tiêu: tính tổng số ngày làm việc, số giờ làm việc, số phút làm việc của 01 yêu cầu công việc mà đối tác đã thực hiện yêu cầu, từ đó mình sẽ biết được là họ đã đáp ứng được yêu cầu theo hợp đồng hay không.

Mình gửi file đính kèm, nhờ các cao nhân hỗ trợ giúp. Mình tính thử vài cách nhưng nó không bao quát hết được các trường hợp.

Cám ơn mọi người trước.
Trungpp
Nếu bạn sài excel từ 2010 trở lên, có thể dùng các CT này :
PHP:
E2=MAX((NETWORKDAYS.INTL(B2,D2,,{"30/4/2017","1/5/2017"})-(A2>17/24))*9/24-MAX(IF(A2>17/24,8/24,A2)-8/24,)-MAX(17/24-C2,),)
F2=NETWORKDAYS.INTL(B2,D2,,{"30/4/2017","1/5/2017"})-(A2>17/24)
Fill xuống, sau đó chỉnh định dạng cột E là [h]:mm
P/s: các ngày lễ khác bạn tự thêm vào cho đủ!!!
 
Lần chỉnh sửa cuối:
Chào cả nhà GPE,
Mình đang có 01 vấn đề cần nhờ mọi người hỗ trợ giúp với, cụ thể:
- Mình đang cần tính thời gian đáp ứng của đối tác trong công việc
- Giám sát thông qua theo dõi số ngày, số phút đáp ứng của từng nhu cầu gửi cho họ
- Khung giờ làm việc của họ mỗi ngày là từ 08h sáng đến 17h buổi chiều, ngoài khung giờ trên thì mình không đựơc tính đáp ứng, Thứ 7, CN, lễ nghỉ
Ví dụ: nếu yêu cầu gửi vào lúc 17h05 thì mặc định thời gian order sẽ được tính từ 08h sáng ngày hôm sau.

Mục tiêu: tính tổng số ngày làm việc, số giờ làm việc, số phút làm việc của 01 yêu cầu công việc mà đối tác đã thực hiện yêu cầu, từ đó mình sẽ biết được là họ đã đáp ứng được yêu cầu theo hợp đồng hay không.

Mình gửi file đính kèm, nhờ các cao nhân hỗ trợ giúp. Mình tính thử vài cách nhưng nó không bao quát hết được các trường hợp.

Cám ơn mọi người trước.
Trungpp
Bạn thử công thức sau nhé:
=WORKDAY.INTL(B2,N(A2>17/24))
 
Lần chỉnh sửa cuối:
Nếu bạn sài excel từ 2010 trở lên, có thể dùng các CT này :
PHP:
E2=MAX((NETWORKDAYS.INTL(B2,D2,,{"30/4/2017","1/5/2017"})-(A2/24>17/24))*9/24-MAX(A2-8/24,)-MAX(17/24-C2,),)
F2=NETWORKDAYS.INTL(B2,D2,,{"30/4/2017","1/5/2017"})-(A2/24>17/24)
Fill xuống, sau đó chỉnh định dạng cột E là [h]:mm
P/s: các ngày lễ khác bạn tự thêm vào cho đủ!!!
hà hà nhanh thế :D
 
Nếu bạn sài excel từ 2010 trở lên, có thể dùng các CT này :
PHP:
E2=MAX((NETWORKDAYS.INTL(B2,D2,,{"30/4/2017","1/5/2017"})-(A2>17/24))*9/24-MAX(IF(A2>17/24,8/24,A2)-8/24,)-MAX(17/24-C2,),)
F2=NETWORKDAYS.INTL(B2,D2,,{"30/4/2017","1/5/2017"})-(A2>17/24)
Fill xuống, sau đó chỉnh định dạng cột E là [h]:mm
P/s: các ngày lễ khác bạn tự thêm vào cho đủ!!!

Caám ơn Bạn nhiều nha. Mình đã ráp thử công thức này vào thì thấy kết quả chưa đúng như yêu cầu bạn ơi, nhờ Bạn xem thêm giúp. Mình gửi file đính kèm đã ráp CT, kết quả mong đợi sau khi tính toán bằng tay :). Không biết mình ráp vào có gì không đúng không nữa

Cám ơn Bạn nhiều
 

File đính kèm

Caám ơn Bạn nhiều nha. Mình đã ráp thử công thức này vào thì thấy kết quả chưa đúng như yêu cầu bạn ơi, nhờ Bạn xem thêm giúp. Mình gửi file đính kèm đã ráp CT, kết quả mong đợi sau khi tính toán bằng tay :). Không biết mình ráp vào có gì không đúng không nữa

Cám ơn Bạn nhiều
Bạn chọn định dạng sai rồi là [h]:mm mới đúng!!!
 
Caám ơn Bạn nhiều nha. Mình đã ráp thử công thức này vào thì thấy kết quả chưa đúng như yêu cầu bạn ơi, nhờ Bạn xem thêm giúp. Mình gửi file đính kèm đã ráp CT, kết quả mong đợi sau khi tính toán bằng tay :). Không biết mình ráp vào có gì không đúng không nữa

Cám ơn Bạn nhiều
chưa tìm ra công thức ngắn hơn
vui lòng xem file
E2:
PHP:
=MIN((IF($C2*24>17,$D2+1+"08:00:00",$D2+$C2)-IF($A2*24>17,$B2+1+"08:00:00",$B2+$A2))*24,(NETWORKDAYS.INTL((IF(A2*24>17,B2+1+"08:00:00",B2+A2)),(IF(C2*24>17,D2+1+"08:00:00",D2+C2)),1,{"30/04/2017","01/05/2017"})*9))
F2:
PHP:
=NETWORKDAYS.INTL((IF(A2*24>17,B2+1+"08:00:00",B2+A2)),(IF(C2*24>17,D2+1+"08:00:00",D2+C2)),1,{"30/04/2017","01/05/2017"})
 

File đính kèm

Chủ thớt có nói "Thứ 7, CN, lễ nghỉ" mà tôi có thấy cái lịch đâu. Lấy gì tính nhỉ?
 
Caám ơn Bạn nhiều nha. Mình đã ráp thử công thức này vào thì thấy kết quả chưa đúng như yêu cầu bạn ơi, nhờ Bạn xem thêm giúp. Mình gửi file đính kèm đã ráp CT, kết quả mong đợi sau khi tính toán bằng tay :). Không biết mình ráp vào có gì không đúng không nữa
Cám ơn Bạn nhiều
1/ Do cách định dạng ngày tháng ở các máy khác nhau, nên cách hay nhất ngày nghỉ lễ bạn nên làm 1 cột chứa các ngày đó, tránh việc chuyển từ text như "4/30/2017" sang ngày vào các máy theo hệ dd/mm/yyyy sẽ không chính xác.
2/ Tôi mượn công thức của @eke_rula bổ sung thêm một ít điều kiện để ngừa: các ngày gửi yêu cầu là ngày thứ 7, CN, nghỉ lễ: (Trong file kèm bạn thử điều chỉnh ô B5 thành ngày 08/07/2017 hoặc 09/07/2017 sẽ thấy sự khác biệt)
PHP:
E2=MAX(NETWORKDAYS.INTL(B2+(A2>17/24),D2,,$G$2:$G$8)*9/24-MAX(A2-8/24,)*(A2<17/24)*(WEEKDAY(B2,2)<6)-MAX(17/24-C2,),)*24
F2=NETWORKDAYS.INTL(B2+(A2>17/24),D2,,$G$2:$G$8)

Chúc bạn ngày vui.
 

File đính kèm

SAO E4 lại có KQ =26 gio nhỉ
tính bằng tay cũng bằng 36. phải chăng mình nhầm ?
06-Jul Thursday
07-Jul Friday
08-Jul Saturday
09-Jul Sunday

10-Jul Monday
11-Jul Tuesday
 
SAO E4 lại có KQ =26 gio nhỉ
tính bằng tay cũng bằng 36. phải chăng mình nhầm ?
06-Jul Thursday
07-Jul Friday
08-Jul Saturday
09-Jul Sunday

10-Jul Monday
11-Jul Tuesday
Do E4 được tính bắt đầu từ 10h thứ 5 ngày 06/07/2017 (là Ngày Giờ gửi đơn đặt hàng): tức tính đến 17h là 7 tiếng, thứ 6+thứ 2: 18 tiếng, từ 8h đến 9h ngày thứ ba 11/07/2017 (Ngày Giờ đã nhận kết quả, tức chỉ tính đến 9h thôi): thêm 1 tiếng, tổng cộng 26 tiếng.
Bài này cũng hơi hơi tương tự tính giờ công: Ngày giờ gửi "order" <==> Ngày giờ Vào ca; Ngày giờ nhận kết quả <==> Ngày giờ Ra ca.

10 tiếng tính dư đó để dành anh em mình đến nhà Bác SA nhậu mát trời ông địa đó.

Chúc Duy Thương ngày thiệt vui.
 
Lần chỉnh sửa cuối:
Rất cám ơn mọi người đã hỗ trợ, mình làm được rồi. Đúng là làm việc với ngày giờ mà chưa nắm rõ thì nó nhảy loạn xạ.
 
Do E4 được tính bắt đầu từ 10h thứ 5 ngày 06/07/2017 (là Ngày Giờ gửi đơn đặt hàng): tức tính đến 17h là 7 tiếng, thứ 6+thứ 2: 18 tiếng, từ 8h đến 9h ngày thứ ba 11/07/2017 (Ngày Giờ đã nhận kết quả, tức chỉ tính đến 9h thôi): thêm 1 tiếng, tổng cộng 26 tiếng.
Bài này cũng hơi hơi tương tự tính giờ công: Ngày giờ gửi "order" <==> Ngày giờ Vào ca; Ngày giờ nhận kết quả <==> Ngày giờ Ra ca.

10 tiếng tính dư đó để dành anh em mình đến nhà Bác SA nhậu mát trời ông địa đó.

Chúc Duy Thương ngày thiệt vui.
thì ra là vậy
chắc công thức phải sửa lại thế này
PHP:
=MAX((NETWORKDAYS.INTL(B2,D2,1,{"30/04/2017","01/05/2017"}))*9-(("17:00:00"-C2)*24)-((A2-"08:00:00")*24)-((MIN("17:00:00",A2)-A2)*24)-((C2-MIN("17:00:00",C2))*24),0)
 
Lần chỉnh sửa cuối:
thì ra là vậy
chắc công thức phải sửa lại thế này
PHP:
=MAX((NETWORKDAYS.INTL(B2,D2,1,{"30/04/2017","01/05/2017"}))*9-(("17:00:00"-C2)*24)-((A2-"08:00:00")*24)-((MIN("17:00:00",A2)-A2)*24)-((C2-MIN("17:00:00",C2))*24),0)
Còn chút xíu nữa mới hoàn chỉnh! Cố lên.
Đổi A5=18h00 B5=ngày 08/7/2017 hoặc 09/7/2017, và đổi C5=10h00 D5=10/07/2017 thì kết quả làm sao vẫn ra 2.00 tiếng.

/-*+//-*+//-*+/
 
Còn chút xíu nữa mới hoàn chỉnh! Cố lên.
Đổi A5=18h00 B5=ngày 08/7/2017 hoặc 09/7/2017, và đổi C5=10h00 D5=10/07/2017 thì kết quả làm sao vẫn ra 2.00 tiếng.

/-*+//-*+//-*+/
CHẮC CÓ LẼ LÀ VẦY:):);)
PHP:
=MAX((NETWORKDAYS.INTL(B2,D2,1,{"30/04/2017","01/05/2017"})*9)-(17-(C2*24))-(MIN((A2*24),17)-8),(C2*24-8),0)
 
Khà khà khà!

Bây giờ thì A5= 18h00 B5=10/7/2017 hoặc 11/7/2017 C5=10h00 D5= 10/7/2017 thì nó cứ y nguyên 2 tiếng.
xin hỏi
nếu như anh nói thì có bao giờ order sau đối tác phản hồi không nhỉ.
kha kha kao_O:)
tuy nhiên cũng có trường hợp như vậy là do người dùng gõ lộn nên đành thay ct như thế này để phòng thân
PHP:
=MAX((NETWORKDAYS.INTL(B2+(A2*24>17),D2,1,{"30/04/2017","01/05/2017"})*9)-(17-MIN(17,(C2*24)))-MAX(0,((A2*24<=17)*A2*24)-8),0)
 
Lần chỉnh sửa cuối:
chào mọi người,

Tình hình là lần trước sau khi mọi người hỗ trợ thì cơ bản mình đã nắm vấn đề và làm tương đối ổn. Tuy nhiên trong quá trình làm và kiểm tra các trường hợp thì còn vướng TH này chưa xử lý được, nhờ ACE hỗ trợ tiếp với. Cụ thể:
Yêu cầu:
- Thời gian làm việc gồm 2 phần:
+ Từ 08h thứ 2 đến 17h thứ 6 hàng tuần (mỗi ngày 09 tiếng làm việc)
+ Thứ 7: từ 08h đến 12h trưa (04 tiếng làm việc), phần còn lại nghỉ
+ Chủ nhật, lễ, tết: nghỉ
Kết quả làm được: mình đã làm được cho phần từ 08h thứ 2 đến 17h thứ sáu, thứ 7 từ 08h - 12h
Chưa làm được: nếu thứ 7 mà trùng với ngày lễ thì mình chưa trừ được khoảng thời gian này. Cụ thể trường hợp tô vàng trong file thì lễ 2/9 trùng Thứ 7 nhưng công thức hiện tại của mình chưa trừ ra được.
Nhờ mọi người tư vấn trường hợp này giúp với. Chi tiết mình gửi trong file đính kèm

Cám ơn mọi người nhiều
Trungpp
 

File đính kèm

Tôi làm được nhưng bạn không hỏi từ đầu nên không giúp nữa. Nếu giúp bạn thì lại phát sinh nữa
Gợi ý cho bạn.nghiên cứu các đối số của hàm networkday.inlt rồi nghĩ cách nào đó tìm ra ngày thứ 7
 
chào mọi người,
Tình hình là lần trước sau khi mọi người hỗ trợ thì cơ bản mình đã nắm vấn đề và làm tương đối ổn. Tuy nhiên trong quá trình làm và kiểm tra các trường hợp thì còn vướng TH này chưa xử lý được, nhờ ACE hỗ trợ tiếp với. Cụ thể:
Yêu cầu:
- Thời gian làm việc gồm 2 phần:
+ Từ 08h thứ 2 đến 17h thứ 6 hàng tuần (mỗi ngày 09 tiếng làm việc)
+ Thứ 7: từ 08h đến 12h trưa (04 tiếng làm việc), phần còn lại nghỉ
+ Chủ nhật, lễ, tết: nghỉ
Kết quả làm được: mình đã làm được cho phần từ 08h thứ 2 đến 17h thứ sáu, thứ 7 từ 08h - 12h
Chưa làm được: nếu thứ 7 mà trùng với ngày lễ thì mình chưa trừ được khoảng thời gian này. Cụ thể trường hợp tô vàng trong file thì lễ 2/9 trùng Thứ 7 nhưng công thức hiện tại của mình chưa trừ ra được.
Nhờ mọi người tư vấn trường hợp này giúp với. Chi tiết mình gửi trong file đính kèm
Cám ơn mọi người nhiều
Trungpp
Bạn phải tìm hiểu rõ ý nghĩa công thức của tôi gửi đầu: công thức đó chỉ tính các ngày thường và loại trừ thứ 7 và CN. Nên khi bạn có sự điều chỉnh là vẫn tính ngày thứ 7, nhưng chỉ tính 4 tiếng thôi, thì giải pháp:
  1. Hoặc, Dùng công thức loại trừ chỉ ngày CN, rồi tính thêm có bao nhiêu ngày thứ 7 nhân 5 tiếng để trừ lại, và (nhớ) trừ giờ vào thực tế nếu giờ vào là ngày thứ 7. (Đây là theo gợi ý của anh @Lê Duy Thương)
  2. Hoặc tính riêng 2 phần: Phần không tính ngày T7-CN trừ ra giờ Vào Ra thực tế, rồi cộng với Phần tính chỉ ngày T7 trừ giờ Vào Ra thực tế.
Công thức mảng dưới đây thực hiện theo giải pháp 2:
PHP:
E2=MAX(SUM((NETWORKDAYS.INTL(B2+(A2>{17,12}/24),D2,{1,"1111101"},$H$2:$H$9)*{9,4})/24-MAX(A2-8/24,)*(A2<{17,12}/24)*(WEEKDAY(B2,2)*{1,-1}<{6,-5}))-MAX(17/24-C2,),)*24
Enter fill xuống.

Chúc bạn ngày vui.
 

File đính kèm

Lần chỉnh sửa cuối:

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

Back
Top Bottom