Excel考勤表是每个HR都经常会用到的,我们今天就来学习一种特殊的考勤表制作方法,那就是可以动态变化日期的考勤表的制作。

用Excel如何制作自动变化日期的考勤表?-天天办公网

如上效果图显示,我们每个月都有对应的考勤表,我们在汇总表中设置了下拉月份选项,当选择对应月份后,汇总表中就可以显示对应月份表格中的考勤数据。我们就来看看如何制作这种可以动态切换的考勤表。

操作步骤:

第1步:我们需要先制作1-8个月的考勤分表,每个月份的考勤表中,注意将对应的姓名、工号都要统一相同的位置。如下图所示:

用Excel如何制作自动变化日期的考勤表?-天天办公网

用Excel如何制作自动变化日期的考勤表?-天天办公网

第1步:我们点击菜单栏:数据—数据有效性—清单,在我们的汇总表中制作数据有效性下拉选项设置,有效条件运用值选择系列,来源输入:1月、2月…8月,也就是你有几个月数据就输入几个月。如下图所示,

用Excel如何制作自动变化日期的考勤表?-天天办公网

第3步:我们在汇总表中设置好月份下拉选项后,下面我们就开始针对每个周末的单元格列设置为灰色底纹,这样我们切换月份后对应的周末2天都对应的列都会特殊显示颜色;

用Excel如何制作自动变化日期的考勤表?-天天办公网

选择区域后,点击:开始—条件格式—新建规则,使用公式确定,输入公式=Weekday(C$5,2)>5,这样即可对于周末两天对应的单元格设置为灰色底纹。原因为如果是周六周日,Weekday函数返回的值就会大于5。

第4步:关键的一步,用indirect函数和address函数来进行单元格引用即可。函数=IF(INDIRECT($B$3&”!”&ADDRESS(ROW(C6),COLUMN(C6)))=0,””,INDIRECT($B$3&”!”&ADDRESS(ROW(C6),COLUMN(C6))))

用Excel如何制作自动变化日期的考勤表?-天天办公网

1、ADDRESS(ROW(C6),COLUMN(C6):地址引用函数,代表返回对应的行和列所在的单元格。此函数代表返回C6单元格内容;ADDRESS(ROW(),COLUMN())函数有对应的两个参数。

2、INDIRECT($B$3&”!”&ADDRESS(ROW(C6),COLUMN(C6))):代表引用单元格B3月份中对应的C6单元格内容,实际=’7月’!C6,因为对于的姓名工号位置都是一致的,只需要引用对应表格的单元格内容即可。

3、IF(INDIRECT()=0,””,INDIRECT()):最后用IF函数来进行判断,如果引用过来的值为0的时候,就用空来显示,不为空有描述内容的时候,就引用单元格内容,这样也是为了看起来更加美观。

通过上面对动态考勤表的详细讲解,现在你学会如何制作这样可以动态变化的Excel考勤表了吗?