INDIRECT函数使VLOOKUP函数实现多表查询

当有很多不同的表时,使用VLOOKUP函数从用户指定的表中获取值。

如图1所示,在名为“东区”的表中存储着水果及其单价。

图1

在图1中,单元格E3是输入单元格,在其中输入要查找单价的水果名称,示例中为“香梨”。

在单元格E4中是查找水果单价的公式:

=VLOOKUP(E3,东区,2,TRUE)

可以看出,VLOOKUP函数从“东区”表中获取了相应的值。

然而,在其他区中水果的售卖价格不一定相同,如图2所示。

图2

此时,我们可以再增加一个输入单元格,用于输入水果所在的区,如图3所示。

图3

接着,更新单元格E4中的公式为:

=VLOOKUP(E3,E2,2,TRUE)

但是,得到的确是出错信息,如图4所示。

图4

这表明,VLOOKUP函数不会将单元格中的内容识别为表的名称。

技巧

实际上,我们此时需要其他函数的辅助,才能达到我们的目的。

技巧:使用INDIRECT函数作为第2个参数

INDIRECT函数将单元格中的文本内容转换为有效的引用。本例中,会将单元格E2中的文本“东区”转换成相应名称的表的区域。

修改单元格E4中的公式为:

=VLOOKUP(E3,INDIRECT(E2),2,TRUE)

得到正确结果,如图5所示。

图5

将输入单元格E2的内容修改为“北区”,在单元格E4中将自动更新为北区香梨的单价,如图6所示。

图6

结语

在使用VLOOKUP函数时,将INDIRECT函数作为其第2个参数并配合名称,能够实现在不同的表中查找数据。

office办公软件入门基础教程 » INDIRECT函数使VLOOKUP函数实现多表查询

本文链接:【INDIRECT函数使VLOOKUP函数实现多表查询】https://www.officeapi.cn/87132.html

OFFICE,天天学一点,进步多一点

联系我们