Xác định thời gian làm việc (1 người xem)

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

PhanTuHuong

VBA & VB.NET for Excel & AutoCad
Thành viên danh dự
Tham gia
13/6/06
Bài viết
7,245
Được thích
24,801
Có một anh hỏi tôi về xác định thời gian làm việc giữa 2 mốc ngày. Nhưng oái oăm là phải trừ thứ 7 tính 1/2 ngày, CN là 1 ngày.
Tôi đã thử kết hợp các hàm If, weekday, Int, Mod... để xác định số ngày làm việc nhưng khá phức tạp. Không biết các cao thủ về hàm có cao kiến gì không?
 
Có một anh hỏi tôi về xác định thời gian làm việc giữa 2 mốc ngày. Nhưng oái oăm là phải trừ thứ 7 tính 1/2 ngày, CN là 1 ngày.
Tôi đã thử kết hợp các hàm If, weekday, Int, Mod... để xác định số ngày làm việc nhưng khá phức tạp. Không biết các cao thủ về hàm có cao kiến gì không?
Anh xem công thức này, tạm thời em chưa rút ngắn được, lấy số ngày thứ 7:
Mã:
=0.5*ROUND((B1+1-A1-NETWORKDAYS(A1,B1))/2,0)-IF(WEEKDAY(A1)=1,0.5,0)
Tổng số ngày:
Mã:
=NETWORKDAYS(A1,B1)+0.5*ROUND((B1+1-A1-NETWORKDAYS(A1,B1))/2,0)-IF(WEEKDAY(A1)=1,0.5,0)
 
Lần chỉnh sửa cuối:
Có một anh hỏi tôi về xác định thời gian làm việc giữa 2 mốc ngày. Nhưng oái oăm là phải trừ thứ 7 tính 1/2 ngày, CN là 1 ngày.
Tôi đã thử kết hợp các hàm If, weekday, Int, Mod... để xác định số ngày làm việc nhưng khá phức tạp. Không biết các cao thủ về hàm có cao kiến gì không?

Ta có:
Tính số ngày thứ bảy: =INT((B1-A1-WEEKDAY(B1-5,2)+8)/7)
Tính số ngày chủ nhật: =INT((B1-A1-WEEKDAY(B1-6,2)+8)/7)
Với A1 là ngày đầu, B1 là ngày cuối
Ta lại có:
Tổng số ngày =B1-A1+1
Vậy kết quả cần tính là =Tổng số ngày - số ngày CN - (số ngày thứ 7)/2
Tức:
=B1-A1+1 -INT((B1-A1-WEEKDAY(B1-6,2)+8)/7) - INT((B1-A1-WEEKDAY(B1-5,2)+8)/7)/2
Áp dụng cho mọi version Office
 
Mấu chốt là xác định số ngày thứ 7 và CN của bác ndu vì khoảng thời gian rơi vào bất kỳ ngày nào! Hay thật, đầu tiên cứ dùng hàm IF để tìm điều kiện !$@!!
 
Lần chỉnh sửa cuối:
Mấu chốt là xác định số ngày thứ 7 và CN của bác ndu vì khoảng thời gian rơi vào bất kỳ ngày nào! Hay thật, đầu tiên cứ dùng hàm IF để tìm điều kiện !$@!!
Em đóng góp một công thức khác nữa
Xác định số ngày thứ 7
Mã:
=INT((B1-(WEEKDAY(B1)<>[COLOR=#ff0000]7[/COLOR])*WEEKDAY(B1)-A1)/7)+1
tương tự cho các ngày khác:
ví dụ số ngày chủ nhật
Mã:
=INT((B1-(WEEKDAY(B1)<>[COLOR=#ff0000]1[/COLOR])*WEEKDAY(B1)-A1)/7)+1
phần B1-(WEEKDAY(B1)<>7)*WEEKDAY(B1) có ý nghĩa là chuyển ngày cuối về ngày thứ bảy gần nhất trước đó.
 
Lần chỉnh sửa cuối:

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

Back
Top Bottom