excel表格使用vlookup和indirect跨表查询匹配的方法
在excel中,怎么跨表引用,方法有很多,能够达到引用效果的函数也有不少。
如一位网友提出的疑问:已知每个表格的姓名,组合一工作表中销售数量,组合二工作表中销售金额,组合三工作表中部门人数,来跨表引用这些数据,汇总到一个表格中。
汇总表
工作表1
工作表2
工作表3
从上方的数据图看,首先想到的就是使用神器”vlookup函数,然后在每列下方输入公式,一个表格一个表格的引用数据。
但是提问者需要使用一个公式一次性将所有数据查询匹配。
因此在基础的vlookup函数上,我们需要使用到一组复合函数。
下面作者君就来介绍跨表引用vlookup与indirect函数强强联合的写法。
直接输入公式:=VLOOKUP($B2,INDIRECT(C$1&"!B:C"),2,0),在这个公式中vlookup的数据区域使用了indirect引用函数。
然后我们来解析这个公式。
Indirect函数的表达式为:=indirect(单元格,引用样式),它的结果会返回单元格所指向的数据,如果给单元格加上双引号,则直接返回该单元格所在的数据;这个函数的逻辑有时会使人混淆,在这里也没有详细解释,后面的文章里作者君会专门用一章特别讲解一下。
那么INDIRECT(C$1&"!B:C")它的含义即是返回C1单元格与"!B:C"文本字符串的结合,我们使用F9解析公式,可以看到它的结果显示为销售数量!b:c”,这正是跨表引用的单元格区域显示格式。
于是我们可以得出vlookup公式的指定数据区域,运算公式,得到下图:
我们发现公式运算结果错误!
这是因为工作表的名称并没有与引用列的标题相同,因此我们需要更改工作表的名称:
这时再返回去看一下运算结果,便得到了公式引用的数据,然后向下和向右拉取填充。
便查询匹配到所有工作表中的数据。
这就是使用查询函数vlookup与引用函数indirect进行组合,展现出强大的查询汇总功能。
今天只是粗略地介绍关于两个函数的组合使用,对这两个函数都不大熟悉的童鞋,或许还不能很好的理解,在后面作者君也会更基础地介绍函数的含义和使用方法。