MATCH函数使VLOOKUP函数更灵活高效

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

结语

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

office办公软件入门基础教程 » MATCH函数使VLOOKUP函数更灵活高效

本文链接:【MATCH函数使VLOOKUP函数更灵活高效】https://www.officeapi.cn/87131.html

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

联系我们