求excel自动排班公式

RT,一共36个人,保证每天都有10个人早班 11个人中班 4个人晚班,剩下休息。
晚班之后休息两天(允许少量,最少休1天)。求一个可以进行拖拽的公式或者相对自动化一些的方法。

信息有点不充足,暂且按我估算来计划。

用工计划:一共36人,每天有10+11+4=25个工,一个月暂且按30天计算,那一个月总共25*30=750个工,则每人需贡献750÷36≈20.83个工。

照此排班,若每天都换班,则考虑使用“早中晚休早中晚休休”9天一轮的基本班序,一个班序中共出工6天休息3天,一个月30天照此班序则需要轮3个班序还余3天工,则6×3+3=21天工,与用工计划基本吻合。

按照以上推算,做一排班表,以8月份为例,安排YG01~YG36的共计36名员工的排班计划如图所示。

表中实际只有1个公式,公式结构完全一致,但由于每天每班用工人数不一致,所以在四个单元格中的基础工序上有所不同:

B2=MID("早中晚休早中晚休休",MOD(ROW()+7,9)+1,1)

L2=MID("中晚休早中晚休休早",MOD(ROW()+7,9)+1,1)

W2=MID("晚休早中晚休休早中",MOD(ROW()+7,9)+1,1)

AA2==MID("休早中晚休休早中晚",MOD(ROW()+7,9)+1,1)

输入了该四个公式后,B2:K32的公式均与B2相同,下拉即可

L2:V32公式均与L2相同,下拉即可

W2:Z32公式均与W2相同,下拉即可

AA2:AK32公式均与AA2相同,下拉即可。


输入公式后,经验算,所有员工在8月份出勤天数均为7早7中7晚10休共21天出勤,且每天均有10人上早班、11人上中班、4人晚班、11人休息,照此应可完美解决题主问题。


做简单补充:此题模拟排班仅考虑了8月份,若照此执行,则增加行数,日期、所有公式直接往下拉就是了,打印时将不需要的行隐藏了就是。

追问

大神,能不能改成 早中中晚休休、 早早中晚休休 这种格式的呢?

追答

表中实际只有1个公式,公式结构完全一致,但由于每天每班用工人数不一致,所以在四个单元格中的基础工序上有所不同:

B2=MID("早早中中晚休休早中中晚休休早早中中晚休休早早中晚休休早中晚休",MOD(ROW()+28,30)+1,1)

L2=MID("中中晚休休早中中晚休休早早中中晚休休早早中晚休休早中晚休早早",MOD(ROW()+28,30)+1,1)

W2=MID("晚休休早中中晚休休早早中中晚休休早早中晚休休早中晚休早早中中",MOD(ROW()+28,30)+1,1)

AA2=MID("休休早中中晚休休早早中中晚休休早早中晚休休早中晚休早早中中晚",MOD(ROW()+28,30)+1,1)

输入了该四个公式后,B2:K32的公式均与B2相同,下拉即可

L2:V32公式均与L2相同,下拉即可

W2:Z32公式均与W2相同,下拉即可

AA2:AK32公式均与AA2相同,下拉即可。


输入公式后,经验算,所有员工在8月份30天内出勤天数均为8早8中5晚9休共21天出勤,且每天均有10人上早班、11人上中班、4人晚班、11人休息,照此应可解决题主问题。

还有一个问题,8月31日的班怎么排?个人建议按8月30日的班上就行了,总体来说基本均衡。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-06-27
具体操作步骤如下:;1、以Excel2007为例,打开Excel表格,如图所示。;2、设置日期、部门、姓名、电话等项,这就需要看你需要哪些了,可以自由添加其他选项。;3、表格制作完成以后,给表格加边框。;4、在表格中把日期、部门、姓名等等都填上。然后调节到合适的行高和行距。;5、表格里字体根据图中所示,可以随意调整大小及字体。;6、拖住鼠标左键往右侧拖拉,选填充序列。填充方式和填充日期的一致,下拉菜单中“填充序列”和“以天数填充’效果一样,就是1234567。如选择”以工作日填充“,效果就是周一到周五循环。
相似回答