发布网友 发布时间:2022-04-22 22:08
共2个回答
热心网友 时间:2023-10-16 03:30
例如,现在我们要在总表中,汇总每位员工各个月份的工资情况
但每个月的工资都分别存放在每一个工作表中,如1月的数据如下:
2月的数据工资表如下所示:
每个子表中员工的姓名排列顺序都是不一样的。
1月份中员工的顺序是吕布、小乔、大乔
而2月份中员工的顺序是大乔、吕布、小乔、程咬金,后面每个月份表格顺序都不一样。
=VLOOKUP(B$1,'1月'!$A:$C,3,0),向右填充
现在要快速的汇总总表的数据:
用普通的方法,就是在B2中输入:
=VLOOKUP(B$1,'1月'!$A:$C,3,0),向右填充
然后B3,把公式里面的1月改成2月,....依次做10次,这种方法效率太低。今天教大家vlookup搭配indirect函数,一个公式搞定。
首先我们了解下Indirect函数的用法:
D3的公式是:=INDIRECT(A2),A2没有加双引号,所以会对A2计算结果是B4,然后引用的是B4单元格的值,返回结果为3
E3的公式是:=INDIRECT("A2"),A2加了双引号,所以直接返回的是A2的值,返回的结果是B4
我们现在要做的是就是实现向下填充的时候,'1月'!$A:$C,会自动变成2月,3月....
用INDIRECT($A2&"!A:C")替换掉
所以整体的公式是:=VLOOKUP(C$1,INDIRECT($A2&"!A:C"),3,0),向下填充,向右填充,得到了所有的汇总结果。
你学会了么?动手试试吧,私信回复素材获取源文件
热心网友 时间:2023-10-16 03:31
=VLOOKUP(C$1,INDIRECT($A2&"!A:C"),3,0),公式中,INDIRECT($A2&"!A:C")里面的$A2返回的是1月,与后面的!A:C组成一个单元格区域,然后返回单元格区域,注意是单元格区域,不是单元格内容,因为VLOOKUP公式这这个位置要的是一个引用区域,所以返回的就是引用区域。第一步引用单元格A2里面的(1月),第二步通过组合引用(1月!A:C)这个区域。