小王
刘哥,前几天看了您教孙大姐整理电子目录,老厉害了!
小刘
哪有,就是让 Excel 发挥下作用。
小王
回头我得跟您好好学学。先不唠了,我赶紧排这个月值班表了,要不主任又批评我了。
小刘
值班表?咱们办公室每天 1 名带班领导、2 名值班员,十几个人呢,你这得排到啥时候去,来,咱们用 Excel 5 分钟就搞定!
小王
又是 5 分钟?真能那么神奇?
Step1:新建一个空白的电子表格,修改下方的工作表名称为“值班表”,新建或修改另一个工作表名为“人员”。
我们的值班工作中,每天都有 1 名带班领导、2 名值班人员,所以,先设计好样式(下图中,我做了 3 周的时间)。
接下来打开“人员”数据表,如图,在 A1 中输入“值班领导”,在 B 列中输入值班领导的名字(顶格),比如我们有 8 名带班领导。在 D1 中输入“值班人员”,在 E 列中输入值班人员的名字(顶格),比如我们有 15 个干活的“伙计”。
Step2:这一步很关键,是为实现一个可以循环引用的闭环,请一定注意,而且要对重复的姓名进行区分。
先从值班领导开始,圈选第二个名字(图中为李四)至最后一个名字(图中为郑十),复制粘贴到 C1 单元格中(顶格),将 B 列第一个名字复制粘贴到 C 列名字的末尾。
同样的方法,将 E 列值班人员名字复制粘贴到 F 列中。
Step3:回到值班表进行编辑。
第一部分:填写日期
首先,第一个日期假设为 2018 年 2 月 10 日,B3 单元格填“2018/2/10”,B4 为“=B3 1”。确定后,拖拽 B4 单元格到表格结尾。
其次,另一列的 F3 单元格的日期等于之前列的末尾单元格 1,本表中 F3 填“=B23 1”。F4 单元格填“=F3 1”,确认后拖拽 F4 单元格至表格结尾。
选择日期 B、F 两列,设置单元格格式为日期型,具体可以根据自己需要进行确认设置。
第二部分:排班次
此时,需要使用 纵向查找函数 VLOOKUP。
先输入带班领导,假设第一个带班领导为“李四”,将 C3 单元格填入“= 人员!B2”。(“人员!”是指最初建立的“人员”这张数据表)
第二个带班领导要依次按照原有顺序排下去,那么 C4 需要填写“=VLOOKUP(C3, 人员!$B$1:$C$8,2,0)”。
Tips:具体操作为,C4 中填“=v”,选择VLOOKUP,点击 fx,即可出现函数参数。
需要注意的是,在引用“人员”数据表时,需采取绝对引用,对引用的单元格需加 $,例如引用 $B$1:$C$8 这个区域,就是引用“人员”表中的全体带班领导。
然后拖拽 C4 单元格到表格结尾,并多拖拽一点,剪切多余的单元格粘贴到另一列 G3 中,此时可以看到 G3 单元格等显示排序中的名字,拖拽至表格结尾。至此,带班领导的排班就完成了。
这时,修改第一个带班领导名字就可以验证编辑是否成功,若成功,其余单元格也会相应改变。
Step4:继续编辑值班人员。
可以引用人员表中值班人员 E 列任意名字。以甲 1 为例,即D3 为甲 1(操作同排带班领导值班时第一步)
那么,继续:
E3=VLOOKUP(D3, 人员!$E$1:$F$15,2,0)
D4=VLOOKUP(E3, 人员!$E$1:$F$15,2,0)
拖拽 E3 至 E4 单元格。
选择 D4 和 E4 单元格,拖拽至表格结尾,可以多拖出两行。
将多余的单元格进行剪切,粘贴到右侧值班人员栏的 H3、I3、H4、I4,选择 H4 和 I4,拖拽至表格结尾。
Step5:勾画表格线条,调整页面布局,预览完成。
此后,如果要更新值班表时,只需要修改一下首个日期和名字即可。不过,如果出现增减人员情况时,还是需要修改相应公式的。什么办法可以一劳永逸呢?
以带班领导为例:
带班领导名字的第二列与第一列是错位粘贴而来,假如带班领导不超过 500 人,那公式可以为 =VLOOKUP(C3, 人员!$B$1:$C$500,2,0),也就是始终引用 B1 到 C500 这个表格区域,不论这个区域有十人还是百人,只要这组名字是有序复制粘贴的,都会被完全引用,而空白区域则会被自动忽略。
小王
刘哥,我都看蒙圈了!
小刘
别着急,下面还有演示视频噢~
(作者:黑龙江伊春市五营区政府办公室 刘思根)
原文链接:http://www.360doc.com/content/18/0209/07/12424830_728749721.shtml