Dữ liệu tháng cần chấm công và số công tương ứng của từng nhân viên. Bạn cần điền ngẫu nhiên "x" vào các ngày làm việc, sao cho tổng ngày làm việc bằng với số lượng cho trước (Lưu ý ngày làm việc sẽ bỏ qua Chủ Nhật).
Link: Onedrive
- Tạo ngẫu nhiên "x" vào các ngày công (loại trừ Chủ Nhật) sao cho tổng ngày làm việc bằng số cho trước:
![]() |
| Tạo ngẫu nhiên số ngày công bằng cho trước |
- Công thức phải được cập nhập khi thay đổi dữ liệu tháng hoặc tổng số ngày công:
![]() |
| Cập nhập khi thay đổi dữ liệu |
Công thức:
1.D22:AH38=IF(OR(COUNTIF($C22:C22,"x")=$B4,WEEKDAY(D$2)=1),"",IF((COUNTIF($C22:C22,"x")+EOMONTH(D$2,0)-D$2-NETWORKDAYS.INTL(D$2,EOMONTH(D$2,0),"1111110"))<$B4,"x",IF(RANDBETWEEN(0,3),"x","")))
2.=LET(a,DATE(2025,B1,1),b,SEQUENCE(,DAY(EOMONTH(a,0)),a),REDUCE(VSTACK(b,TEXT(b,"ddd")),B4:B20,LAMBDA(x,v,VSTACK(x,LET(c,WEEKDAY(b,2)<7,REPT("x",BYCOL(N(TOCOL(TAKE(SORTBY(FILTER(b,c),RANDARRAY(,SUM(N(c)))),,v))=b),SUM)))))))

