Excel动态考勤表的制作,相信对于每一位HR来讲都是见得非常多的。今天我们就来学习一下,如何制作可以自动查询月份考勤数据的考勤表。
我们来看一下效果图是怎么样的,如下图:
如上图:我们每一张sheet页都代表了每个月的出勤情况,每个月的表格格式、登记人姓名工号都是一致的。现在我们需要在汇总表中单独选择下拉月份就可以调取每个月的数据。下面我们来学习一下。
第一步:先在每张sheet页都固定一样的出勤登记表格,每个人对于的姓名工号位置每张表都一样。
如上图每个月对应的表格格式都是一样的。
第二步:在汇总表中月份单元格设置数据有效性。方法:数据—数据有效性—清单。
允许条件中设置为序列,来源输入:1月,2月,3月,4月,5月,6月,7月,8月。你有几个月的数据就输入到几个月。
第三步:如何将每个周末对应的单元格设置为灰色底纹。
选择区域后,点击:开始—条件格式—新建规则,使用公式确定,输入公式=Weekday(C$5,2)>5,这样即可对于周末两天对应的单元格设置为灰色底纹。原因为如果是周六周日,Weekday函数返回的值就会大于5。
第四步:关键的一步,用indirect函数和address函数来进行单元格引用即可。函数=IF(INDIRECT($B$3&”!”&ADDRESS(ROW(C6),COLUMN(C6)))=0,””,INDIRECT($B$3&”!”&ADDRESS(ROW(C6),COLUMN(C6))))
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的时候,就用空来显示,不为空有描述内容的时候,就引用单元格内容,这样也是为了看起来更加美观。
现在你学会如何制作可以进行动态查询的出勤表了吗?