在日常工作中,常常会遇到老板发来包含多个工作表的工作簿,要求从各个子表中匹配数据并汇总到总表的情况,以下通过一个具体的工作实例来详细介绍一种高效的处理方法以及相关解读内容。

vlookup怎么跨表匹配,excel中利用INDIRECT公式实现多表数据匹配汇总-趣帮office教程网

一、常规但低效的方法

老板给的工作簿里有多个工作表,比如示例中有 6 个子表,并且规定了 B 列的数据要在第 1 个表中匹配,C 列的数据要在第 2 个表中匹配,依次类推。

最直接、也是比较笨的办法就是针对每一列分别使用 VLOOKUP 公式来进行匹配。例如,对于 B 列使用的公式是 “=VLOOKUP (A2,'1'!A:B,2,0)”,意思是在名为 “1” 的工作表的 A 到 B 列区域中,以总表 A2 单元格的值作为查找依据,查找并返回对应第 2 列(也就是 B 列)的值,精确匹配(最后参数 “0” 表示精确查找)。如果按照这样的方式,有 6 个子表就需要使用 6 次类似的公式,分别去对应不同的列进行数据匹配操作。

vlookup怎么跨表匹配,excel中利用INDIRECT公式实现多表数据匹配汇总-趣帮office教程网

然而,当子表数量较多的时候,这种逐列使用公式的方法就显得非常繁琐且效率低下,很容易出错,所以需要寻找一种更简便、能一次性完成全部匹配的方法。

二、探索高效匹配的思路及尝试

我们通过观察发现了一个规律,那就是每次使用 VLOOKUP 公式去不同的表中查找数据时,其实只是需要把引用的工作表名称对应的数字进行改变就可以了。比如从查找第 1 个表变为查找第 2 个表,就是把公式里的 “1” 变成 “2”。

vlookup怎么跨表匹配,excel中利用INDIRECT公式实现多表数据匹配汇总-趣帮office教程网

于是,我们先做了一个尝试,想着用 B1 单元格来替换数字 1,最初使用的公式是 “=VLOOKUP ($A2,"'"&B$1&"'!A:B",2,0)”,这里使用了连接符 “&”,目的是将单引号、B1 单元格的值以及后面的工作表区域引用等内容连接起来构成完整的查找区域引用。但经过实际操作会发现,这样写出来的公式计算不出来结果,因为最终公式实际上变成了 “=VLOOKUP (A2,"'1'!A:B",2,0)”,中间的部分多了双引号,导致 Excel 无法正确识别要查找的工作表区域,所以要想办法去掉这多余的双引号,才能得到正确的匹配结果。

vlookup怎么跨表匹配,excel中利用INDIRECT公式实现多表数据匹配汇总-趣帮office教程网

三、借助 INDIRECT 间接引用公式解决问题

在这种情况下,就可以借助 INDIRECT 间接引用公式来完成去掉双引号的操作,从而实现准确的数据匹配。最终我们输入的正确公式是 “=VLOOKUP ($A2,INDIRECT("'"&B$1&"'!A:B"),2,0)”。

这里的 INDIRECT 公式发挥了关键作用,它的原理其实很简单,就是一个去掉双引号的过程,使得原本因为连接操作带上双引号的工作表区域引用能够恢复到正常的、Excel 可以识别的格式。例如,当你输入 “=INDIRECT ("A3")” 这样的公式时,它就等价于直接输入 “=A3”,也就是 INDIRECT 会把所引用的内容(这里是 “A3” 单元格)按照其原本的单元格引用方式进行处理,去掉多余的引号限制,让 Excel 能准确找到对应的单元格或者区域进行后续操作。

vlookup怎么跨表匹配,excel中利用INDIRECT公式实现多表数据匹配汇总-趣帮office教程网

通过使用这个包含 INDIRECT 公式的 VLOOKUP 嵌套公式,就能在总表中一次性完成从多个不同子表中匹配数据的任务,无论子表数量是多少,都可以按照这个逻辑灵活调整引用的单元格(像 B1 等用于替换工作表名称对应数字的单元格),高效地实现数据汇总,大大提高了工作效率,尤其适用于处理有较多工作表且需要整合数据的 Excel 工作簿场景,比如财务数据汇总表(从多个月份的分表汇总到年度总表)、销售数据整合表(从不同区域的分表汇总到整体销售总表)等。

所以,掌握这个小技巧对于提升 Excel 数据处理能力很有帮助,大家可以动手试试,将其运用到实际的工作当中,让多表数据匹配汇总工作变得更加轻松、高效。