如何使用vlookup match组合?

VLOOKUP 和 MATCH 的组合就像一个超能力。众所周知,VLOOKUP 是最流行的函数之一。

正确的?

这可以帮助您快速找到列中的值。但当你使用得越来越多时,你就会意识到一些问题。最大的问题是它不是动态的。

在VLOOKUP中,col_index_no是一个静态值,这就是VLOOKUP不能用作动态函数的原因。而这就是需要将VLOOKUP和MATCH结合起来的地方。

如果您正在处理多列数据,则更改其引用会很痛苦,您必须手动执行此操作(更改列号)。

解决此问题的最佳方法是使用 VLOOKUP 中的 MATCH 函数来查找 col_index_number。今天,在这篇文章中,我将告诉您使用此组合公式所需了解的所有信息。

VLOOKUP 的问题

我发现创建这两个功能的组合有两个主要原因。

1. 静态引用

只需查看下面的数据表,其中就有 4 名不同员工 12 个月的销售额。

使用vlookup和match的数据表

现在,假设您要搜索二月份的“John’s”促销活动。公式应该是这样的。

 =VLOOKUP("May",A1:E13,2,0)

在这个公式中,您提到 2 作为 col_index_num,因为约翰的销售位于第二列。但是,如果你的老板告诉你要获取“Peter”的销售价值,你会怎么做

您需要更改 col_index_num 中的值,因为它不是动态的。

2. 添加或删除列

现在以不同的方式思考。您需要在 John 的列之前为新员工添加一个新列。

这里约翰的列号是 3,您的公式结果不正确。

vlookup 并匹配静态列索引号

再次强调,因为 col_index_num 是一个静态值,所以您必须手动将其从 2 更改为 3,如果您需要其他值,则必须再次更改。

此时,您清楚地知道需要使 col_index_num 动态化的一件事。为此,最好的方法是将其替换为 MATCH 函数。

为什么要匹配函数

在结合VLOOKUP和MATCH之前,您需要了解匹配函数及其工作原理。 MATCH 的基本用法是查找某个范围内搜索值的单元格编号。

语法:MATCH(查找值,查找数组,[匹配类型])

它主要有三个参数,搜索值、搜索值的范围和指定精确匹配或模糊匹配的匹配类型。

例如,在下面的数据中,我正在使用标题行中的匹配函数搜索名称“John”。

并且,它在结果中返回 2,因为名称位于该行的第二个单元格中。

VLOOKUP 和 MATCH 一起使用

现在是时候将 VLOOKUP 和 MATCH 放在一起了。那么,让我们继续前面的例子。

首先,让我们使用这两个函数创建一个公式,然后我们将了解这两个函数如何协同工作。

创建此组合公式的步骤:

  • 首先,在一个单元格中输入月份名称,在另一个单元格中输入员工姓名。
  • 之后,在第三个单元格中输入以下公式。
 =VLOOKUP(C15,A1:E13,MATCH(C16,A1:E1,0),0)

在上面的公式中,您使用 VLOOKUP 查找月份 MAY,对于 col_index_num 参数,您使用 match 函数而不是静态值。

在匹配函数中,您使用“John”(员工姓名)作为搜索值。

在 vlookup 和信件中引用员工姓名

这里,匹配函数返回上一行中“John”的单元格编号。之后,VLOOKUP 使用该单元格编号返回值。

具有匹配功能的动态列索引号

简单来说,MATCH函数告诉VLOOKUP列号来获取值。

问题解决了吗?

上面您了解了由static col_index_num引起的两个不同问题。

为此,您组合了 VLOOKUP 和 MATCH。现在我们需要检查这些问题是否得到解决。

1. 静态引用

您在匹配函数中引用了员工姓名来获取 VLOOKUP 的列号。

当您更改单元格中的员工姓名时,匹配函数会更改列号。当您需要获取另一位员工的值时,您需要更改单元格中的员工姓名。

这样你就有了一个动态的 col_index_number。

最后,您不必一次又一次地更改公式。

2. 添加或删除列

在添加新列之前,John 的数据位于第 2 列,match 函数返回 2。插入新列后,John 的数据位于第 3 列,match 函数返回 3。

当您为新员工添加新列时,公式值不会更改,因为匹配函数会更新其值。

这样,即使您插入/删除列,您也将始终获得正确的列号。 MATCH 函数将返回正确的列号。

获取 Excel 文件

添加评论

您的邮箱地址不会被公开。 必填项已用 * 标注