用Excel函数vlookup统计全年出勤情况
年底快到了,人事在准备做年度考勤统计的时候,问我有没有什么函数可以简单些,便试着用vlookup函数做了个表格,可能不是很好,但每个月维护好,年底也可以轻松许多。
问题:如下图,已知分表(1-12月)中的出勤数据如下,如何在总表中统计一年总出勤天数及出勤率。当分表中人员出现变动的时候,如何在总表显示其对应的数据?
首先我们知道需要用到vlookup函数,那么先介绍一下使用vlookup函数的几个参数,vlookup是判断引用数据的函数,它总共有四个参数,依次是:
1、判断的条件
2、跟踪数据的区域
3、返回第几列的数据
4、是否精确匹配
根据以上参考,和上述在总表显示问题的实际需求,在总表相应单元格输入这个公式是:
=VLOOKUP($C3,'2013.01工业'!$D4:$P260,3,FALSE)
总表里包含12个月的小表。可用分级来隐藏或显示。
=VLOOKUP($C3,'2013.01工业'!$D4:$P260,3,FALSE)
详细说明一下,在此vlookup函数例子中各个参数的使用说明:
1、C3是判断的条件,也就是说分表和总表中名字相同者,即总表假别列对应的数据和分表中名字列C列的数据相同方能引用;
2、2013.01工业'!$D4:$P260是数据跟踪的区域,因为需要引用的数据在P列,所以跟踪的区域至少在P列,2013.01工业'!是不同表间引用所用的表名称,和标志是表间引用的!符号,$是绝对引用(关于绝对引用可以参考这里),$D4:$P260表明从D4到P260单元格的数据区域,如果数据区域不止P26,那么可以直接使用D:P,这样虽然方便但是有风险,因为如果2013.01工业表的下方还有其它数据,就有可能出现问题;
3、3这是返回什么数的列数,如上图的事假是第3列,所以应该是3,如果要求病假的数值,那么此处应该是4
4、最后是否绝对引用,如果是就输入true如果是近似即可满足条件那么输入false(近似值主要用于带小数点的财务、运算等)
5、vlookup是垂直方向的判断,如果是水平方向的判断可使用Hlookup函数
可以做好第一个月复制到其它月份,这样的话,就只要修改数据所在表的名称即可。
第一行的公式做好了,第二行开始都可以直接复制填充
第二个月份的也一样,将前一个月的复制一行过来,修改数据所在表名称,再进行全部复制填充就行了
切记对应的列数不能错,错了数据就错了。
比如下图所选择的数据区域(列),那么相应的对应列数,姓名就是1,事假就是3,以此类推
结果如下图: