Cám ơn nhưng chưa đúng lắm sẽ sửa lại code
Còn ct minh sẽ làm như sau
Bây giờ mình làm ct thử xem
1/ Ngày lễ: 2 công
2/ Ngày lễ = thứ bảy: 2 công (đương nhiên rồi)
Ta có
A2: ngaydau: 01/06/1980
B2: ngaycuoi: 29/02/2008
Tạo 1 name tạm cho ngắn bớt
eDay=ROW(INDIRECT(VALUE(ct!$A$2)&":"&VALUE(ct!$B$2)))
1/ Số công chưa tính NL, T7, CN: ($B$2-$A$2+1)*2
2/ Số CN:
=SUMPRODUCT(--(WEEKDAY(eDay)=1))
3/ Số CN là NL =SUMPRODUCT(--(NOT(ISNA(MATCH(TEXT(eDay,"ddmm"),{"0101";"3004";"0105";"0209"},0)))),--(WEEKDAY(eDay)=1))
4/ Số công CN mà khác NL (2) - (3) =SUMPRODUCT(--(1-NOT(ISNA(MATCH(TEXT(eDay,"ddmm"),{"0101";"3004";"0105";"0209"},0)))),--(WEEKDAY(eDay)=1))*2
...
tương tự
5/ Số công TB mà khác NL =SUMPRODUCT(--(1-NOT(ISNA(MATCH(TEXT(eDay,"ddmm"),{"0101";"3004";"0105";"0209"},0)))),--(WEEKDAY(eDay)=7))
6/ Số công NL là
=SUMPRODUCT(--(NOT(ISNA(MATCH(TEXT(eDay,"ddmm"),{"0101";"3004";"0105";"0209"},0)))))*2
Từ đó => số công trừ T7, CN, NL, nếu NL là T7 thì 2 công là:
(1) - (4) -(5) : là
=($B$2-$A$2+1)*2-SUMPRODUCT(--(1-NOT(ISNA(MATCH(TEXT(eDay,"ddmm"),{"0101";"3004";"0105";"0209"},0)))),--(WEEKDAY(eDay)=1))*2-SUMPRODUCT(--(1-NOT(ISNA(MATCH(TEXT(eDay,"ddmm"),{"0101";"3004";"0105";"0209"},0)))),--(WEEKDAY(eDay)=7))
Đáp số là 15.975/2 =7987,5 ngày