乐于分享
好东西不私藏

Excel 自动排班系统:输入员工名单,整月班表自动生成

Excel 自动排班系统:输入员工名单,整月班表自动生成

自动排班系统:

新增员工自动参与排班,月份变化自动更新日期。


一、最终效果

员工名单:

自动生成:

员工
1日
2日
3日
4日
5日
6日
7日
张三
白班
夜班
休息
白班
夜班
休息
白班
李四
夜班
休息
白班
夜班
休息
白班
夜班
王五
休息
白班
夜班
休息
白班
夜班
休息
赵六
白班
夜班
休息
白班
夜班
休息
白班

二、第一步:自动生成当月日期

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,"<>休息")
结果: