VLOOKUP函数的第3个参数指定想要返回的值的位置 。例如,如果想要从所查找区域的第2个位置或第2列返回金额,则应指定该参数为2 。
文章插图
图1
从图1所示的工作表中的“表1”中返回第1列的金额,在B8中使用公式:
=VLOOKUP(A8,表1,2,0)
然而,如果想要使用列标题(如本例中的“金额”)而不是整数值2与Excel进行交互,会得到什么结果,例如
=VLOOKUP(A8,表1,”金额”,0)
返回错误 。
显然,Excel不允许使用列标题来引用列 。难道不是吗?
技巧
实际上,我们此时要做的就是如何将列标题(金额)转换成相应的整数(2) 。
技巧:对第3个参数使用MATCH函数来代替整数
MATCH函数返回列表项的相对位置 。因此,要求MATCH函数在表的标题行查找相应标题(金额),返回其位置值 。接着,VLOOKUP函数使用该位置值 。
例如,因为“金额”在表中的第2列,所以下面的公式返回2:
=MATCH(“金额“,表1[#标题],0)
在示例中,可以使用下面的公式:
=MATCH(B7,表1[#标题],0)
这样,要使用列标题来查找相应的值,上文中的公式就可变为:
=VLOOKUP(A8,表1,MATCH(B7,表1[#标题],0),0)
这个技巧允许引用列标题来代替位置值 。下面是这项技术的一些有趣的应用 。
示例1:改变列顺序
如果使用数字作为VLOOKUP函数的第3个参数,那么当所查找表的列顺序改变时,找到的数据将不是想要的数据,因为Excel不会自动更新相应的数字 。然而,使用MATCH函数代替数字作为VLOOKUP函数的第3个参数,可以得到正确的结果,这使得工作簿更灵活有效 。
如图2所示,开始时要求查找第2列中的相应数据 。
文章插图
图2
但是,如果将图2中的第2列和第3列交换,如图3所示,使用MATCH函数代替2作为VLOOKUP函数的第3个参数,能够确保在列的顺序发生改变时,仍然获得正确结果 。
文章插图
图3
示例2:插入新的列
如果在查找的表中所要查找的列前插入新列,那么使用数字作为参数的VLOOKUP函数的结果将会改变,不会得到想要的数据 。但是,使用MATCH函数代替数字作为参数,则不会受到插入新列的影响 。
如图4所示,要返回第5列的数据 。
文章插图
图4
在第5列前插入一个新列后,原来的第5列变成了现在的第6列,如图5所示,公式不需要修改,结果仍然不变 。
文章插图
图5
示例3:二维查找
使用传统的VLOOKUP函数,只能垂直查找匹配的值 。然而,配合使用MATCH函数,可以实现二维查找,其中,VLOOKUP函数查找行,而MATCH函数查找列 。
如下图6所示的工作表,想要获取某本书在某电商网站的价格 。在单元格B7中输入电商网站名,在单元格A7中是要查找的图书名 。此时,使用VLOOKUP函数查找图书在表中的行,而使用MATCH函数查找电商网站所在的列,从而获取表中的价格数据 。
文章插图
图6
结语
【MATCH函数使VLOOKUP函数更灵活高效】在使用VLOOKUP函数时,将MATCH函数作为其第3个参数,能够实现很多有趣的应用 。
推荐阅读
- 理解VLOOKUP函数第4个参数的真实含义
- 下 10个示例让你的VLOOKUP函数应用从入门到精通
- Excel函数 VLOOKUP VS. INDEX+MATCH
- excel函数哪个强VLOOKUP VS. SUMIFS
- 如何使用超级店长限时折扣?超级店长有啥用?
- INDIRECT函数使VLOOKUP函数实现多表查询
- MATCH函数+INDEX函数组合
- VLOOKUP函数查找技巧
- FREQUENCY函数的精彩应用
- 淘宝联盟赚的佣金怎么提现?怎么使用?