- Tham gia
- 3/8/07
- Bài viết
- 1,633
- Được thích
- 2,370
- Nghề nghiệp
- E&A
hoangdanh282vn đã viết:Mình có một câu hỏi này, mời các bạn cùng tham gia tìm giải pháp :
Tính số ngày công (2 buổi/ngày) làm việc của một nhân viên từ ngày 01/06/1980 đến ngày 29/02/2008.
Biết rằng ngày CN nghỉ, ngày thứ bảy làm 1/2 ngày, có 4 ngày nghỉ lễ là 01/01,30/04,01/05,02/09
ThuNghi đã viết:Vấn đề này thấy vậy mà không đơn giản lắm. Những ngày 01/01, 30/04... nếu rơi vào T7, CN thứ tính làm sao. Và có cho dùng VBA không.
Theo tôi bài này dùng VBA là hay nhất
Còn 01/06/1980 - 29/02/2008 > 10.000 ngày
Nếu sumproduct(--(weekday(indirect(...))<>1),--(weekday(indirect(...))<>7),--(day()<>1),--...) với indirect 10.000 dòng thì không cách gì mà nhanh được.
DOSNET đã viết:Do ta đếm số ngày T7 và CN giữa hai khoảng thời gian cho dù có rơi vào các ngày lễ vẫn được tính để trừ đi. (coi như nghỉ bù) nên vấn đề này vẫn đc giải quyết ổn thỏa bác ạh !
hoangdanh282vn đã viết:Được bác à. Đây là giải pháp vì thế tất nhiên là VBA sẽ được ứng dụng nhiều. Tuy nhiên có công thức thì càng ok.
Công thức so với công thức, VBA so với VBA
DOSNET đã viết:*Giải pháp của mình là :
Tống số buổi = (tổng số ngày giữa hai khoảng thời gian)*2 +1
Trong đó: phải trừ đi số buổi :
- trừ (tổng số ngày chủ nhật)*2
- trừ tổng số ngày Thứ 7
- Trừ ngày lễ (4*2)
Việc chính là đếm được có bao nhiêu ngày T7, CN trong khoảng thời gian đã cho !
-----------------
Do lỗi mạng nên trật tự các bài bị đảo lộn.
Xin phép sắp xếp lại.
BNTT
Chỉnh sửa lần cuối bởi điều hành viên: