怎么用excel制作自动排班(利用EXCEL制作公司排班系统)

在日常工作中,我们每个月都要对员工进行值班安排,且涉及到周末和节假日,那么如何用EXCEL制作一个简易方便的排班系统呢?

下图为排班表的最终效果,当然还可以对表格进行美化,只需提前设置好员工基本信息、节假日等数据,点点选选即可快速排班。

怎么用excel制作自动排班(利用EXCEL制作公司排班系统)(1)

图1

系统共有3个表册,第一个表为“节假日和参数设置”,主要设置年度节假日,用函数判断是否需要上班;第二个表为“员工基本信息”,主要内容有员工姓名、部门、职务、联系方式等;第三个表为“排班表”,主要设置一个月的排班,休息日用红色字体自动显示(如图1)。

下面我们依次讲解各个表格的用法。

一、节假日和参数设置

我们指定一个单元格作为年度的调用数据单元格,然后根据年度生成日期,如图2,我们指定D2单元格输入年度,然后在A4单元格用时间函数DATE调用D2单元格的年度生成每日的日期。

怎么用excel制作自动排班(利用EXCEL制作公司排班系统)(2)

图2

DATE函数:DATE(年,月,日),表示返回表示特定日期的连续序列号。

我们在单元格直接输入函数如:=DATE(2021,9,1),那么显示的内容即为2021-9-1,利用DATE函数特性,我们可以生成一整年甚至更多的日期,下面我们以生成一年日期为例。

在A4单元格输入函数:=DATE(D2,1,ROW(A1))

D2表示调用2021年度(可根据需要写不同的年度),1表示表示一年中1月至12月的1月份开始往下填充,ROW为行,表示一个月中的1日到30日的各天,用A1表示第一行,往下拖动会变成A2 A3 A4...依次加1,到下月1日的时候会自动变化填充。在第一个日期第一个输入函数回车后,往下填充一年的数据即可。同时,我们需要知道哪天是星期几,只需要在B4单元格输入函数=TEXT(A4,"aaaa")即可显示星期,如图3。

怎么用excel制作自动排班(利用EXCEL制作公司排班系统)(3)

图3

“节假日及节气”这一列可有可无,设置该列的目的是方便看是否国家法定节假日,由此判断是休息还是上班,需要根据每年的实际情况手动录入。因为国家法定节假日可能包含周末和周末补班的问题,所以设置“休息和上班”列,主要目的是便于判断是否上班,然后在“排班表”引用,我们在维护数据时,只需要维护节假日休息和周末补班即可。以上信息全部维护结束后,需要用IF函数判断是否上班,在“排班表”调用后用条件格式显示休息日为红色(或其他颜色,根据喜好设置)字体。

在“是否上班”列的E4单元格输入函数:=IF(AND(OR(B4="星期六",B4="星期日"),D4<>"班"),"否",IF(D4="休","否","是")),则自动识别哪天上班,哪天休息。

IF(AND(OR(B4="星期六",B4="星期日"),D4<>"班"),"否"的意思是:如果是星期六和星期天,并且不上班,则为不上班。IF(D4="休","否","是")则是判断是否为休息日。

怎么用excel制作自动排班(利用EXCEL制作公司排班系统)(4)

图4

到此,“节假日和参数设置”表的设置就完成了。部分细心的朋友会发现该表中还有一个“日期设置”,主要是方便“排班表”调用选择。

二、基本信息

这个表就容易理解了,主要是领导和员工的基本信息,最后增加一列辅助列,把领导姓名和联系电话合并便于调用。

怎么用excel制作自动排班(利用EXCEL制作公司排班系统)(5)

图5

在“姓名电话合并”列用连接符&把姓名和联系电话合并起来即可,方法很简单,在单元格录入:=B3&E3,回车后往下复制填充就可以了,当有新员工的时候,只需要复制最后一行,粘贴修改数据进行增加。

三、排班表

以上两个表格都维护好以后,就需要在“排班表”里进行调用,以下是效果图。

怎么用excel制作自动排班(利用EXCEL制作公司排班系统)(6)

图6

从上图可以看到,表格左侧有设置是否上班和日期设置,这里为辅助列,方便设置日数和颜色显示,只需要设置“排班表”打印区域即可。

第一步:设置日期

在第一列第一个日期单元格输入函数:=DATE($P$3,$P$4,ROW(A1)),然后往下拖动到需要的位置,在第二列第一个日期单元格输入函数:=DATE($P$3,$P$4,ROW(A17)),拖动到合适的位置,这里值得注意的是,ROW(A17)表示从第17个日期开始,因为我们第一列最后一个日期是16日。这时我们发现单元格显示了完整日期,我们只想显示到单日,选中需要设置的单元格,单击鼠标右键,打开“设置单元格格式”对话框,在“数字”功能组找到“自定义”,在右侧“类型”下方文本框输入“d日”,表示天数,确定后就得到我们想要的效果。如下图:

怎么用excel制作自动排班(利用EXCEL制作公司排班系统)(7)

图7

关于星期的函数,上述已经讲过,用函数=TEXT(A3,"aaaa")就能显示星期。

第二步:数据有效性

设置好日期后,我们需要把值班人员信息和带班领导、驾驶员的信息调用过来,这时候就该数据有效性出场了。选择“值班人及电话”列需要调用数据的单元格,在“数据”选项卡下找到“有效性”,打开对话框,在“设置”功能组“有效性条件”—“允许”选择“序列”,其他默认,在“来源”下方输入:=基本信息!$F$10:$F$20(表示需要值班的人员区域),或者点击右边图标选择区域,然后确定,带班领导和驾驶员设置方法一样,完善后就可以选择排班了。

怎么用excel制作自动排班(利用EXCEL制作公司排班系统)(8)

图8

第三步:调用是否上班数据

在K3单元格输入函数:=INDEX(节假日和参数设置!E:E,MATCH($A3,节假日和参数设置!A:A,)),表示从“节假日和参数设置”表中“是否上班”列提取数据,对应的两列依次设置。

怎么用excel制作自动排班(利用EXCEL制作公司排班系统)(9)

图9

第四步:判断是否两个月的日期排在一张表上

我们都知道,瑞年的2月有28天,平年的2月有29天,此时就需要增加辅助列判断当月有多少天,然后用条件格式把字体显示为白色(因为背景为白色,设置字体为白色后就看不到内容)。

在对应每个月29日的单元格输入函数:

=IF(MONTH(F15)<>$P$4,"不同月",""),用MONTH(F15)计算当月的月份数,然后用IF函数判断是否和当前月一致,如果不一样则显示“不同月”,否则留空,然后往下拖动复制到31日的位置。

怎么用excel制作自动排班(利用EXCEL制作公司排班系统)(10)

图10

第五步:休息日用红色字体显示

选择1日单元格,在“开始”选项卡下找到“条件格式”—“新建规则”—“使用公式确定要设置格式的单元格”,在下方文本框输入函数:=$K3="否",点击“格式”—“字体”—“颜色”,选择红色(或其他颜色),然后点击“确定”返回。保持选中1日单元格,单击“格式刷”,然后按住鼠标左键拖动到“值班驾驶员”这一列最后一行后松开,即可设置休息日红色显示。

17日后面的设置方法和上面方法一样,在刚才的文本框里输入=$L3="否"。

最后,在29日单元格按照上面的方法设置字体颜色为白色,函数为:=$M15="不同月"

怎么用excel制作自动排班(利用EXCEL制作公司排班系统)(11)

图11

至此,我们的操作基本完成,下面设置一下条件格式显示休息日为红色就大功告成。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页