当有很多不同的表时,使用VLOOKUP函数从用户指定的表中获取值。
如图1所示,在名为“东区”的表中存储着水果及其单价。
图1
在图1中,单元格E3是输入单元格,在其中输入要查找单价的水果名称,示例中为“香梨”。
在单元格E4中是查找水果单价的公式:
=VLOOKUP(E3,东区,2,TRUE)
可以看出,VLOOKUP函数从“东区”表中获取了相应的值。
然而,在其他区中水果的售卖价格不一定相同,如图2所示。
图2
此时,我们可以再增加一个输入单元格,用于输入水果所在的区,如图3所示。
图3
接着,更新单元格E4中的公式为:
=VLOOKUP(E3,E2,2,TRUE)
但是,得到的确是出错信息,如图4所示。
MATCH函数使VLOOKUP函数更灵活高效
VLOOKUP函数的第3个参数指定想要返回的值的位置。例如,如果想要从所查找区域的第2个位置或第2列返回金额,则应指定该参数为2。 图1 从图1所示的工作表中的“表1”中返回第1列的金额,在B8中使用公式: =VLOOKUP(A8,表1,2,0) 然而,如果想要使用列标题(如本例中的“金额”)而不是整数值2
图4
这表明,VLOOKUP函数不会将单元格中的内容识别为表的名称。
技巧
实际上,我们此时需要其他函数的辅助,才能达到我们的目的。
技巧:使用INDIRECT函数作为第2个参数
INDIRECT函数将单元格中的文本内容转换为有效的引用。本例中,会将单元格E2中的文本“东区”转换成相应名称的表的区域。
修改单元格E4中的公式为:
=VLOOKUP(E3,INDIRECT(E2),2,TRUE)
得到正确结果,如图5所示。
图5
将输入单元格E2的内容修改为“北区”,在单元格E4中将自动更新为北区香梨的单价,如图6所示。
图6
结语
在使用VLOOKUP函数时,将INDIRECT函数作为其第2个参数并配合名称,能够实现在不同的表中查找数据。
理解VLOOKUP函数第4个参数的真实含义
VLOOKUP函数是大家最喜欢使用的函数之一,能够帮助我们实现很多任务。这里,让我们回过头来从细节处着手,再次深入探究VLOOKUP函数,进一步熟练掌握这个常用的函数。 VLOOKUP函数有4个参数,其中第4个参数是可选参数,如果我们在公式中省略这个参数,有时会得到错误的结果。如图1所示,在单元格区域A2:B6中查找