对于那些精通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功能还具有其他优点:
当我们处理大型数据集时,由于许多VLOOKUP函数,计算本身可能会花费很长时间,因此您会发现,一旦替换了所有这些带有INDEX-MATCH的公式,整体计算将更快。
如果我们的参考表在C列中包含我们要搜索的键文本,并且需要获取的数据在列AQ,使用VLOOKUP时,我们需要知道/计算C列和AQ列之间有多少列。
借助INDEX-MATCH函数,我们可以直接选择我们需要获取数据并选择要匹配的列的索引列(即列AQ)(即列C)。
VLOOKUP现在很常见,但并不多知道如何一起使用INDEX-MATCH函数。
INDEX-MATCH函数中较长的字符串有助于使您看起来像是处理复杂和高级Excel函数的专家。尽情享受吧!