分享

Excel公式与函数之美20:MATCH函数使VLOOKUP函数更灵活高效

 L罗乐 2018-03-17


这篇文章中,我们将探讨灵活利用VLOOKUP函数的第3个参数的有效方法。

 

一键直达>>Excel函数学习1:MATCH函数

一键直达>> Excel函数学习4VLOOKUP函数

一键直达 >> Excel公式与函数之美15:VLOOKUP函数的秘密

一键直达>>Excel 公式与函数之美16:MATCH函数的几个秘密

一键直达>>Excel公式与函数之美19:理解VLOOKUP函数第4个参数的真实含义

 

目的

 

VLOOKUP函数的第3个参数指定想要返回的值的位置。例如,如果想要从所查找区域的第2个位置或第2列返回金额,则应指定该参数为2

1

 

从图1所示的工作表中的“表1”中返回第1列的金额,在B8中使用公式:

=VLOOKUP(A8,1,2,0)

 

然而,如果想要使用列标题(如本例中的“金额”)而不是整数值2Excel进行交互,会得到什么结果,例如

=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

 

结语

在使用VLOOKUP函数时,将MATCH函数作为其第3个参数,能够实现很多有趣的应用。





本文整理自excel-university.com,转载请注明出处。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多