排班表我想一般连轴转的生产型的企业都会用上,也有不同类型的倒班形式,三班两倒,四班三倒等,这都涉及到排班表的设计。本文是通过实例描述了一种四班两运转的 Excel 排班表制作。
这天,在上面把 SAP 的活儿处理的差不多了,下 (xian) 去(de)转 (dan) 悠(teng)歇会,看见线经理正在做 2019 年的排班表,他见我来了,顿时感概时间过的很快,2018 年马上接近尾声,又将迎来新的一年,这不,2019 年的排班表需要做一份了,问我有没有比较简便的方法能实现比较快速的排出他想要的效果。
我一看这是个 Excel 表格,顿时来了兴趣,但反复瞅了瞅,发现这玩意儿貌似还有点复杂,虽有规律,但通过公式直接实现像还有点难度,当时在下面只是简单尝试了下,就说应该是可以做的,我回头给试试。
这不,又过了几天,我把活儿忙完了,我来研究一下。
首先这个排班表是由日历 + 班次共同组成,分月份显示,前面数字为日历天,后面为班次,我们共 A、B、C、D 四个班组,四班两运转模式,即以 A 班为例,他在四天一个周期里,是一个白班、一个夜班,再加 2 天休息。这样下来所有班组的 4 天都相对固定,这样班次即是 4 天一循环。Excel 可以很轻松的通过拖拽来实现连续的班组循环(C/B A/C D/A B/D C/B A/C D/A B/D C/B A/C D/A B/D C/B A/C D/A B/D C/B A/C D/A B/D),但是这如何与前面的日期进行对应呢?
再进一步的剖析,日期目前分月显示,我看是不太好通过公式来实现和班组的循环相连接了,换个思路,如果日期以周为单位连续显示,而班组也这样排列,后续只需要一个 & 连接,就可以实现我们想要的效果,最后只需做一部分的复制删减即可。现在重点就到了如何让日历显示为连续的周日历?如何让一整行的班组循环显示为每 7 个一行?
而 MOD 同余和 INT 取整两个函数正好可以 排上用场,对于日历刚好有个 TEXT 函数来实现。组合公式如下 =TEXT(DATE(2019,1,1)-2+MOD(COLUMN(A2)-1,7)+(ROW(A2)-1)*7,’d’),输入后按需连续拖拽即可。
对于第二个问题,跟这个日历其实有很大的相似点,但此时我们需要在上面一行先将班组的循环连续拖拽处理,下面我们通过 Offset 这个引用函数来实现,组合公式如下 =OFFSET($K$1,0,MOD(COLUMN(A1)-1,7)+(ROW(A1)-1)*7),输入后按需连续拖拽即可。
接下来只需 & 连接函数出场。在第一个单元格输入公式 =E4&M4,输入后按需连续拖拽即可。前面再手动录入月份,方便等下复制时辨识。
最后一步即是,将刚才的内容按照月份复制进前面的排版中,然后再做相应的删减即完成了排班表的设计,效果如下。
保留公式,接下来明年可以很轻松的通过此 Excel 来实现排班。
此实例仅是个人运用一点浅薄的 Excel 所学完成的,欢迎指正,也欢迎有更智能快捷的方法的朋友相互讨论。谢谢。
原文链接:http://www.360doc.com/content/18/1121/19/3595160_796363853.shtml