何时在Excel中使用索引匹配而不是VLOOKUP


对于那些精通Excel的人来说,您很可能非常熟悉VLOOKUP功能。 VLOOKUP函数用于根据同一行中的某些匹配文本在其他单元格中查找值。

如果您还不熟悉VLOOKUP功能,您可以在如何在Excel中使用VLOOKUP 上查看我以前的帖子。

功能强大,VLOOKUP限制了如何构造匹配的引用表才能使公式起作用。

本文将向您展示VLOOKUP的局限性不能使用,不能在Excel中引入另一个名为INDEX-MATCH的函数来解决该问题。

INDEX MATCH Excel示例

使用以下Excel电子表格示例 ,我们有车主姓名和车名的列表。在此示例中,我们将尝试根据多个所有者下方列出的汽车型号来获取汽车ID,如下所示:

<!-
In_content_1全部:[300x250] / dfp:[640x360]
->

在名为CarType的单独工作表上,我们有一个简单的汽车数据库,具有ID汽车型号颜色

通过此表格设置, VLOOKUP函数仅在要检索的数据位于我们要匹配的内容(汽车型号字段)右侧的列上时可用。

换句话说,对于这种表格结构,由于我们试图根据Car Model对其进行匹配,因此唯一可以获得的信息是Color(不是ID,因为ID列位于Car Model列的左侧。)

这是因为使用VLOOKUP,查找值必须出现在第一列中,并且查找列必须在右侧。在我们的示例中没有满足这些条件。

好消息是,INDEX-MATCH将能够帮助我们实现这一目标。实际上,这实际上是结合了两个可以单独工作的Excel函数:INDEX函数和MATCH函数。

但是,出于本文的目的,我们仅讨论两者的结合,目的是复制VLOOKUP的功能。

这个公式乍一看似乎有点长且令人生畏。但是,一旦使用了几次,您就会全心学习语法。

这是我们示例中的完整公式:

=INDEX(CarType!$A$2:$A$5,MATCH(B4,CarType!$B$2:$B$5,0))

此处是每个部分的明细

= INDEX(“ =”表示单元格中公式的开头,而INDEX是我们正在使用的Excel函数的第一部分。

CarType!$ A $ 2:$ A $ 5–表CarType上的列,其中包含我们要检索的数据。在此示例中,每个车型的ID

MATCH(– Excel函数的第二部分

B4–包含我们正在使用的搜索文本的单元格(汽车型号/ p>

CarType!$ B $ 2:$ B $ 5–工作表CarType上的列以及我们将用于与搜索文本匹配的数据。

0))–表示搜索文本必须与匹配列中的文本完全匹配(例如,CarType!$ B $ 2:$ B $ 5)。如果找不到完全匹配的内容,则公式将返回#N / A

注意:请记住末尾的双括号函数“))”以及参数之间的逗号。

我个人已不再使用VLOOKUP,现在使用了INDEX-MATCH,因为它可以

VLOOKUP相比,INDEX-MATCH功能还具有其他优点:

  1. 更快速的计算
  2. 当我们处理大型数据集时,由于许多VLOOKUP函数,计算本身可能会花费很长时间,因此您会发现,一旦替换了所有这些带有INDEX-MATCH的公式,整体计算将更快。

    1. 无需计算相对列
    2. 如果我们的参考表在C列中包含我们要搜索的键文本,并且需要获取的数据在列AQ,使用VLOOKUP时,我们需要知道/计算C列和AQ列之间有多少列。

      借助INDEX-MATCH函数,我们可以直接选择我们需要获取数据并选择要匹配的列的索引列(即列AQ)(即列C)。

      1. 它看起来更复杂
      2. VLOOKUP现在很常见,但并不多知道如何一起使用INDEX-MATCH函数。

        INDEX-MATCH函数中较长的字符串有助于使您看起来像是处理复杂和高级Excel函数的专家。尽情享受吧!

        vlookup多條件

        相关文章:


        30.11.2018