自动排班系统:
新增员工自动参与排班,月份变化自动更新日期。
一、最终效果
员工名单:

自动生成:
二、第一步:自动生成当月日期
B2为排班月份
在 C2 输入:
=SEQUENCE(1,DAY(EOMONTH(B2,0)),1,1)
结果:自动生成整个月日期。

三、第二步:定义班次变量
1代表白班
2代表夜班
3代表休息
四、第三步:自动轮班
员工名单在A列
班次月份在B列
在C3输入:=CHOOSE(MOD(COLUMN()+ROW()-2,3)+1,"白班","夜班","休息")然后分别向下,向右填充
结果:

五、自动跳过周末
从第四步可以看到,6月6日和7日还是依然在排班,
但是实际上是周六日,应该是休息,所以需要自动
计算周末
第四步公式改为:
=IF(
WEEKDAY(H$2,1)>=6,
"休息",
CHOOSE(
MOD(COLUMN()+ROW()-2,2)+1,
"白班",
"夜班"
)
效果:可以看到6月6日、7日、13日、14日都是周末自动变成休息了

六、自动统计出勤天数
统计某员工出勤天数:
=COUNTIF(B5:AF5,"<>休息")结果:
夜雨聆风