VLOOKUP Vs. INDEX/MATCH——哪个更好?(回答)

当涉及Excel世界时,它分为两个派系 - Vlookup旅和索引/匹配团。

如果您想知道哪一个分数更高Vlookup与索引/匹配战斗,这篇文章将尝试回答。

但在此之前,让我先说清楚几件事——本文并不是要赞扬一个函数而抨击另一个函数。这两个188亚洲金博宝app很棒,有他们的地方。在某些情况下,人们可能比另一个更好。

在我的一个Excel培训课程中,我惊讶地发现大多数人都意识到,在某些情况下,熟练地使用vlookup.,但几乎没有一个人知道强大的指数/匹配组合。

当我提到这个问题时,他们有很多疑问:

  • 它是一个查找和参考公式吗?-是的!也许是最好的
  • 它是一个新的Excel 2016功能吗?-地狱不!
  • 它可以参考不同工作表或工作簿之间的数据吗?-是的
  • 它比VLOOKUP更好吗?-这取决于

我认为VLOOKUP PR团队正在比索引/匹配更好。

在本教程中,我将尽可能地尝试将这两个公式视为客观。

我没有收藏夹,首先,但我更喜欢使用索引/匹配组合,而不是Vlookup。选择是由大量因素驱动,包括数据的样子以及如何使用它。我将在本文中涵盖所有这些。

VLOOKUP VS索引匹配 - 目标比较

所以让我们开始终止这个长期的VLOKUP与索引/匹配的争论,哪一个更好。

为此,我将根据一些参数(有些是可量化的,有些是不可量化的)比较这两个函数。

功能的普及程度

vlookup将此放下来。

对于有些人来说,如果你知道如何使用VLOOKUP,你就知道如何使用Excel。考虑到这个函数能做多少事,我不怪他们。

出于这个原因,很多人使用VLOOKUP,因为其他EXCEL用户更好地理解。

虽然这不是一个受欢迎的竞赛,但它在为什么Vlookup被这么多使用过巨大的作用。

想象一下,您正在使用熟练使用VLookup的客户/经理,但不知道如何使用索引/匹配。使用函数使得您都知道的功能更为有意义,而不是尝试教他们索引/匹配。

判决:VLOOKUP是一个清晰的人气赢家

便于使用

vlookup是如此流行的原因是它易于使用(至少与索引/匹配相比)。

当我拍摄Excel培训时,我将首先首先首先覆盖Vlookup。很多人都发现vlookup很难,所以我甚至无法想象试图教他们索引/匹配(除非他们已经知道如何熟练vlookup)。

在大多数情况下,VLOOKUP足够好。在使用数据时,可以做人们需要的大部分事情。当然,你也可以用索引/匹配做同样的事情,但是当它甚至不需要时,为什么要带走硬道路。

VLOOKUP有3个参数(第四个是可选的),与INDEX/MATCH相比更容易理解。

索引和匹配是两个单独的函数,每个函数需要三个参数,应该组合以进行查找(已复杂化??)。

当您掌握了INDEX/MATCH的窍门后,您可能会发现它同样简单,但初学者可能会被VLOOKUP所吸引。

vlookup vs index.

结论:VLOOKUP的优势在于易于使用。

功能的灵活性

VLOOKUP是一个很棒的函数,但有一些限制:

  • 它无法查找并返回查找值左侧的值。
  • 它仅适用于垂直排列的数据。
  • VLOOKUP如果您在数据中添加/删除新列(作为错误列的列编号值),则vlookup将给出错误的结果。您可以使列号动态,但如果您计划组合两个或更多功能,为什么不在首先使用索引/匹配。

在您开始愤怒中发出愤怒之前,请发表评论vlookup如何完成所有这些东西,请听到我。vlookup是一个独立的函数,并不意味着这样做。当然,您可以将其与其他公式组合并绕过所有这些东西,但是它会失去易于使用的标签。

如果有人可以使用组合来使VLOOKUP向左看看左侧或制作列动态,我相信使用索引/匹配的人更好,这是为了轻松处理这些东西。

所以,是的,Vlookup可以解决这些限制,但这不值得。通过更多的编码和机器人,我相信您也可以让Vlookup获取您最喜欢的咖啡,但请记住,它不是为此制作的。

另一方面,索引匹配组合可以处理所有这些问题。它可以

  1. 查找并返回查找值左边的值,
  2. 处理水平和/或垂直结构化数据。
  3. 如果您从数据集插入或删除某些情况,请处理行/列号

Vlookup右边的查找值

判决:索引/匹配组合使您可以比Vlookup更多的灵活性。

公式速度

当你有小的数据集时,这种差异很难被注意到。

但如果你有数千行和许多列,这可以是一个决定性因素。

在不重新发明的车轮,这里是一个帖子Charley Kyd.,他明确提到了:

在最糟糕的情况下,索引匹配方法与Vlookup一样快。它最好,它更快。

虽然我认为这是其中的一个因素,但我认为它没有其他因素那么重要。多年来,微软一直在努力提高这些功能的速度,从我写这篇文章开始,他们已经做出了相当大的改进。

这是一个更新他们提到他们如何使公式,如VLOOKUP, HLOOKUP,和MATCH更快。

此外,它是一个非常小的人数,他们实际上可以从vlookup上使用索引/匹配来源的速度改进。

结论:如果速度是你所追求的,那么索引/匹配组合就是最好的选择。

总体判决(VLOOKUP与索引/匹配组合)

虽然我是指数/比赛的巨大粉丝,但在所有公平中,我必须承认,Vlookup仍然是国王。

这并不意味着您不应该了解索引/匹配,而是如果您是Excel和Lookup公式的新手,请从Vlookup开始。使用它并首先掌握它,然后移动到索引/匹配

INDEX/MATCH是一个强大的组合,比VLOOKUP公式有更多的灵活性和速度。

Vlokup与索引匹配比较

也就是说,VLOOKUP不会消失,而且很可能在未来很长一段时间内仍然是Excel中最受欢迎的函数之一。

嗯,辩论不完全结束(见评论部分)。燃烧火 - 在评论部分中留下2美分。

VLOOKUP与索引/匹配之间的区别

在进行比较之前,我认为了解这两个功能之间的基本差异(更重要的是相似性)非常重要。

我不会进入这些函数的语法和示例。如果您对此感兴趣,我对两者都有详细的教程vlookup.索引/匹配

Vlookup和索引/匹配都是公式,您可以使用要在数据集中查找值并获取相应的值(就像您扫描菜单并查找要订购的菜肴的价格)。

从数据集查找并获取相应的值

在大多数情况下,您可以互换地使用这些。

当您需要一个简单的查找和获取操作时,这些功能的主要差异变得更加重要。

以下是这两个公式中的一些基本差异(本文稍后详细介绍):

  1. VLookup是一个单一的公式,它是所有查找和获取,但使用索引/匹配,您需要在公式中使用函数。
  2. 索引/匹配可以更高级查找 - 例如查看数据集的左侧,使行/列值动态等。
  3. 索引/匹配提供了更大的灵活性,在构建数据模型或使用复杂数据时更适合

您也可能喜欢以下Vlookup教程:

有用的Excel资源:

Excel电子书订阅

免费的EXCEL的书

获得51个Excel提示电子书来飙升您的生产力,并更快地完成工作

51关于“Vlookup与”的想法索引/匹配 - 哪一个更好?(回答)“

  1. 我有一个非常复杂的财务预测模型。所有的提取都是vlookups和hlookups。但是一旦我必须删除,插入列,它就成了噩梦......我必须切换到索引匹配,或整个型号变得几乎没用!

  2. 嗨sumit,
    感谢论坛和辩论。VLOOKUP和HLOOKUP是巨大的GOTO功能,仍然静态且相对简单。在现实生活中,从未发生过,通常只是在完成模型时,需要插入,添加,删除,更改等。因此,索引和匹配构建了防止必须重新编写公式或重新指定函数参数。While it is easy and or lazy to grab VLOOKUP or HLOOKUP for a quick fix, you’ll thank yourself if you learn INDEX and MATCH and make it your goto solution for flexible lookups that can accommodate future changes in form and or function of your worksheet. Of course.. all this is my opinion.. to each his/her own.
    再次感谢. .感谢您为Excel社区提供的所有智慧和资源!

  3. I used to use vlookup all the time, working with larger data sets I started using index/match, now i’m so used to it I wouldn’t go back, especially useful when you have a lot of columns, just selecting the column rather than working out what column number it is from the index is so much easier, it also requires less memory and doesn’t recalculate every time a cell value changes reducing the processing power the spreadsheet requires, overall much faster and makes you want to hit the keyboard less, I recommend using it if you work with large data sets, if not and vlookup works for you then stick with that. oh another bonus, you can match against multiple columns too pretty easily (slight modification to the formula but nothing too complicated doing =match(a2&b2,col1,col2….google the rest) so yeah its pretty cool and worth learning.

  4. 经历了vlookup的功能限制。索引/匹配是一种更健壮的方法,也是我的首选。

  5. 如何在将权力查询中输入公式(Concatenate)合并到另一个连接......帮助请?

  6. “它只对垂直排列的数据有效”——这时你切换到HLOOKUP。

  7. 可爱的文章。
    当我们从目标行相比,当我们从中占据数据的范围时,我将vlokp分数超过索引匹配。
    例如:如果我想从项目上派生项目的值,可以在我的新表上说“橙色”,这可能在第81行,
    和in the old sheet where it is looking from : “Orange” is on row no 78( i.e the new sheet has increased rows) the formula will return the value pertaining to data on row no 78 instead of actually looking up details for “orange” per se.
    在索引匹配中是否存在该解决方案,以便与行号无关,它返回与有关商品有关的值,例如John ??

    约翰Verghese

  8. 有利于索引()/ match()的两点:

    当你在Excel表中有结构化引用时,INDEX()/MATCH()工作/看起来更好,因为你可以看到正在查找的数据类型:
    = index(tbl_articles [price],匹配([articlenr],tbl_articles [Articlenr],0))
    在表“tbl_articles”中查找“价格”。

    = VLOOKUP ([ArticleNr], tbl_Articles 8 FALSCH)
    在表“tbl_Articles”中查找第八列。

    在具有大量列的列表中,可能很难获得VLookup()的正确列索引。

    结束辩论!
    真的!

  9. 我在不同的上下文中使用索引和匹配组合。表格或付款凭证和摘要表。摘要表中的详细信息,然后在不同的表格中打印付款凭证。索引和匹配将参考摘要的编号系统在付款凭证表中。每个月都将根据使用宏的编号系统自动对债权人进行自动化付款凭证......

  10. 索引/匹配肯定比Vlookup更令人生畏。
    我遇到的顶尖是来自上下文博客。您可以使用自动更正为使用提示键入您的公式结构,然后双击以选择数据。这使得记住语法更容易。

    关联:
    http://blog.contextures.com/Archives/2016/05/05/ENTER-COMPLEX-excel-formulas-fast/

    复杂的公式

    在评论中,WYN显示了他掌握了自动更正的公式。它是一个索引/匹配公式,具有用于小区参考的占位符。(您可以在我的网站上阅读有关该强大功能二重奏的更多信息。)

    如果你想尝试这个提示(我强烈推荐它),然后复制他的公式。我会在一分钟内向您展示该怎么办。

    = index(dblclk_to_select_column_to_return,match(dblclk_single_lookup_cell,dblclk_lookup_column,0),0)

  11. 我有一个非常大的数据集,目前用vlookup建造。每个小变化都很慢,大约需要10分钟。我想将其切换到索引匹配,并查看它是如何发展的。我会及时向大家发布。

  12. 这绝对是对VLOOKUP和INDEX MATCH争论的一个很好的分析。特别是我们仍然在使用VLOOKUP,而不是大众认为我们都应该跳到INDEX MATCH。尽管Bill Jelen注意到在新的Excel中有些部分有点过时——VLOOKUP能够提供更好的性能(当使用true选项时)。

    更重要的是,我觉得还有讨论的空间,即我个人认为MS Query可以加入VLOOKUP和INDEX MATCH之间的冲突。许多人不喜欢MS Query在单个SQL查询中执行复杂查找操作和其他数据转换的简单性和控制,而不是开发复杂的错误公式或数组公式。

    期待您的意见。在绩效方面与其他替代方案分析VLOOKUP,还可以随意阅读我的观点。
    http://www.analystcave.com/excel-vlookup-vs-index-match-vs-sql-performance/

        • 就其本身而言,Vlookup不能向右看。在上面的例子中,您创建了一个很长的公式,可以使用Index/Match来简化它。而且,它不是动态的(列号是硬编码的)。这个想法是,VLOOKUP没有被设置为向左查找,而INDEX/MATCH被设置为向左查找

          • Sumit:与独立vlookup的索引/匹配组合的比较与比较苹果和橘子的单独vlookup是不公平的!DebJit和Bob Phillips都显示了VLookup如何与另一个函数结合使用以返回左侧的值。其他函数如何用于将动态Col_Index参数返回到VLookup。

            感知问题/ Vlookup的弱点故事结局。

          • 感谢您的评论.. Vlookup并不提供索引/匹配的灵活性。想象一下,如果我有100列数据,那么debjit的公式会是什么样的。是的,您可以创建一个大复杂的公式,使vlookup看起来左侧,并使列号动态,但随后易于使用窗口。在这种情况下,更好地使用索引/匹配。

          • 嗨,苏米特邦萨尔,
            我想要一个Excel的公式。
            =条件求和(ExeG5: G20'value ExeA5: A20'Sales人名字”,SummaryA5, ExeF5: F20'Date”、StDate ExeF5: F20'Date’,EnDate)。
            此公式我发现了一个月的数字价值。但我想找到一个月明智的文本价值。
            什么是这样做的公式。
            拜托,这对我太重要了。请尽快帮助我。

          • 我一直在思考完全相同的事情。我知道现在有点旧,但在这个背景下使用组合公式进行单个公式进行比较单个公式无意义!

          • 感谢您在亚当的投球。你是对的,这有点不公平。我尝试突出显示的是索引/匹配的好处,用于查找人们尝试与vlookup进行的数据集中的值。毫无疑问,Vlookup是一个惊人的功能,但是在查找值时,索引/匹配铸造了更广泛的网。

          • 嗨sumit,

            这是Arikrishnan。很高兴能和你联系。我需要你帮我一个忙,关于你更新的出席跟踪器(http://188金宝搏app官网滚球www.ran-inw.com/2015/03/excel-leave-tracker/)。
            在此追踪器中,您已使字段“离开本月(单元格NJ)”,“将今年(小区NK)”留下,直到单元格NQ为常数,只为每个月进行分配的单元格。

            我的要求是,我需要这些字段需要更改,因为我想使用这些字段的月报表。你能在这个!!!!上帮我吗

          • 关键是为了使VLOOKUP作为索引匹配的灵活性,您必须在使用它时添加更多代码,从而使其至少与索引匹配一样复杂;那么为什么不仅仅是首先使用索引匹配?

          • 有人需要获得枕头和铲子并杀死这场辩论。

            我已经使用了Vlookup和索引/匹配并继续使用两者。
            当一个客户来找我抱怨某个解决方案因为VLOOKUP而失效时,我们可以恢复它。

            但真的。索引/匹配的人就像敲击你的前门寻找一个问题以适应他们的解决方案的宗教人士。Boooooo!

          • 而VLOOKUP的粉丝们是像地球人一样的狂热信徒,如果你想走那条路的话,哈哈。

  13. 不错的文章。首先,我必须承认我是INDEX MATCH的忠实粉丝。然而,关于灵活性部分的第三点,将VLOOKUP与组合索引MATCH进行比较是不完全公平的。如果您使用INDEX并硬编码行和列的数字,那么如果列也被删除,您将得到一个不同的值。这就是为什么如果您要使用VLOOKUP,那么使用组合VLOOKUP MATCH是很方便的。

    为什么我发现强大的索引是,由于它返回一个引用,它可以与SUM函数结合使用(index())到和范围。另一个方便的功能是从不同的部分中选择值(类型的方案管理器)在参考模式下使用时,最后使用末尾的[Area_Num]参数。

    • 我和你在一起。与匹配一起使用时索引灵活性。如果行/列编号是硬编码的,则灵活性为折腾而进行。索引要返回引用的功能是令人难以置信的。它允许您更进一步。我使用这很多才能创建动态范围并下降。

  14. 你说Vlookup不能看左,但它可以使用一种形式,有点模拟索引/匹配

    = VLOOKUP(“z”,选择({1,2},B美元1:B 10美元,一美元1:$ 10美元),2,假)

    如果在数据中添加/删除新列,Vlookup将给出错误的结果。但Excel中的很多东西都是如此,所以一个好的电子表格开发人员可以轻松地绕过这个问题

    = Vlookup(“G”,$ 2:$ 15 $ 15,匹配(“Qtr2”,$ 2:$ 2,0),假)

    所以Vlookup可以是/与索引/匹配一样灵活。

    最大的销售点是Vlookup很容易向人们教导,而且它坚持,指数/比赛较少,甚至我知道关于指数/匹配我的第一个追索通常是vlookup;我通常只使用索引/匹配,当需要一些扭曲时,我在查找中增加一些条件测试时。

    • 嗨Bob ..欢迎来到特朗普Excel ..感谢您分享您的想法。我同意vlookup易于使用和流行。但是,索引/匹配确实提供了更多使用VLookup无法实现的灵活性。虽然我们可以创建复载公式以查看左侧并调整列附加,但如果使用索引/匹配,它是一个固有的益处。除此之外,您还可以使用索引/匹配返回整个行/列,以及单元格引用(如果您创建动态名为范围或下降),则很有用)。这些东西无法使用Vlookup完成。我同意易于使用vlookup,但它确实有索引/匹配可以解决的限制。

  15. 我可以询问在使用Vlookup,Hlookup或索引(匹配)时,在Excel中存储的平均数据表中的平均数据表是否有多大?

    我在90年代后期使用Lotus 123返回了一个事件/员工调度系统,其中我在2004年左右转换为Excel。系统已经大大进化,因为填充了许多自动化功能,并将继续发展。我曾经考虑过包含上述方法之一,但发现我自己的个人编码对于手头的任务更有效。

    我询问表格大小的原因是我的表很少达到超过250条记录。多年来的项目总规模从左右缩小到78K,超过相同数量的记录。这是通过从所有纸张中移除所有公式和条件格式来实现的。一切都在VBA代码中完成。

    注意:我不使用枢轴表,因为输出不是我的喜好而无法毫无用处,因为这对使用上述功能有任何影响。

  16. 不错的文章,但我仍然不相信我应该使用INDEX(MATCH())而不是VLOOKUP()。也许我只是太习惯于自己的方式了,除了不会完全转换的Excel新用户之外,还有另一群人,他们在Windows出现之前就开始使用Excel了。哦,它是工具包中的另一个工具,但多年来我围绕VLOOKUP()构建了太多的技能,不能放弃它。

    顺便说一下,INDEX(MATCH())可以处理水平和垂直方向的数据,而VLOOKUP()不能,这个评估实际上是正确的,但是它忽略了HLOOKUP()。使用HLOOKUP()而不是VLOOKUP()就像在INDEX(MATCH())中从列引用切换到行引用一样简单。

    我不会在这里用我不得不说的其他废话来烦你,但这里是我对VLOOKUP()所做的事情的总结:左-右查找-返回;多个条件查询;防弹与命名列和表;返回标准的第一个/最后一个。

    所有这些都说,Vlookup()的一个很大的优势是我可以逐步教授用户。

    我通常开发工作簿,然后与所有者,通常是业务经理或导演的审核。这可能是他们第一次通过vlookup()所做的。他们大部分时间都得到它。但是,如果我从索引开始(匹配())他们的眼睛用第一个解释釉。

    一旦我将它们挂在vlookup()中,我就可以添加更大问题所需的复杂性。

    如果你想看剩下的,在http://bigdon-in-vbaland.blogspot.com/2014/11/indexmatch-v-vlookup.html.

    谢谢

    • 嗨Don ..欢迎来到特朗普Excel ..感谢您分享您的想法..我和你在一起..易用性是Vlookup的一个巨大因素。向任何人解释vlookup是更容易的,并且可以使用它来实现很多。另一方面,索引/匹配是一个更高的缺点是复杂性的术语,并且可以在特定场景中使用。但是,如果你确实挂了它。索引/匹配组合非常强大,可以多于Vlookup。但在一天结束时 - 正如Excel先生所说的那样 - 易用性和人气胜过其他一切。

    • 对不起,这一定是你教它的方式。我的看法是Vlookup和Hlookup只是过度专业化的遗留功能,Excel将更好地“修剪”它们。当我有2-D范围时,我会偶尔使用vlookup;搜索阵列恰好在左侧;我只想返回一个字段;我相信数据很干净,匹配将始终成功。尽管如此,我认为他们为Excel函数的臃肿动物园带来的价值不值得他们保持。188亚洲金博宝app

      我总是使用MATCH的辅助单元格启动MATCH/INDEX组合。这是它返回的行索引可以被视觉检查的点。在许多情况下,这是错误的,所以在数据和公式问题得到纠正之前,没有必要进一步查找数据字段。一旦行索引被验证,那么index将返回所需的所有字段(包括两个VLOOKUP策略中用于检查的搜索字段的副本)。我相信这比通常的求助“为什么我的VLOOKUP返回错误的值?”更令人满意。

      对抗这一点,我相信Vlookup的真正实力就是它可以从封闭的工作簿查找数据,但这不是我可能使用的东西。

    • 我知道这是一岁的岁月,但我们刚刚到达了将索引(匹配())建立为最佳实践,实际上,来自我集团生成的任何电子表格可交付成果的Vlookup()。vlookup()与索引(匹配())相比过于危险,当数据集可能会增长或添加/删除列时,匹配())。我们的错误较少,我们的回归测试周期现在要短得多。

    • 本文有很多论点有关如何为VLOOKUP提供匹配索引的优势。这些都涉及使用Vlookup更加复杂,从而否定其易用优势。让我建议一个世界上最好的世界休战:如果缺乏速度,脆性和较小的灵活性不是问题,请使用vlookup;否则使用匹配索引。作为一个实际问题,它只是简单。

  17. 这是一篇优秀的文章,可以很好地阐明差异。

    在速度问题上,Vlookup和索引(匹配())将同样慢。如果您真的关心速度,您会切换到查理威廉姆斯使用两个vlookup(,,, true)而不是一个索引(匹配()),在那里您将看到速度100倍。

    在灵活性问题上,您错过了匹配(, - 1)可以在进行范围查找时返回值“刚刚更大”而不是值“只是较小”。此外,如果您必须执行12列Vlookups,那么带有12个索引列的单个匹配列将更快。

    但在这里,易用性和受欢迎程度胜过一切。人们可能会对VLOOKUP感到困惑,其中大多数对INDEX和MATCH都是全新的。除非有人有特定的需要VLOOKUP或VLOOKUP的值更大,否则人们会在99%的时间里继续使用VLOOKUP。

    • 嗨比尔(又名Excel先生)..超级在特朗普Excel上看你。速度和灵活性的伟大点。2 vlookups的概念也是我的学习。将检查出来。感谢分享

        • 两者都是辉煌的文章。从未听说过双重vlookup。现在难怪我是为什么它没有组装成一个excel函数,vlookup语法可以获得最好的两者?

        • 如果有假右,这才有工作?如果没有falses,它应该慢得多。

        • 这太误导人了。比尔,你可以考虑删掉这整篇文章。

          在未对查找列不排序时指定近似匹配会导致VLOOKUP函数返回错误的值(除非它只是幸运)。因此,在上面的示例中,如果不对PartNumber列进行排序,则会获得不正确的结果。

          如果它不对,这无关紧要。

          我错过了什么?

          • 该视频表示必须对查找表进行排序。我已经看到工作表,在排序表并切换到双关法方法后,在不到2秒钟内重新计算在不到2秒内计算的工作表。

          • TRUE要求查找范围是排序的,因为它执行二进制搜索而不是线性搜索。二进制搜索意味着搜索将列表分为一半,直到它找到匹配项或没有其他选择。在1M条目的列表中,二进制搜索需要超过16个检查以获得结果。因此,如果您可以选择排序查找列表,则速度快于线性搜索(FALSE)。

            我在这个视频中解释了二分搜索:
            https://youtu.be/GllJpJxOSvM

    • 快速问题:

      vlookup与索引匹配之间的计算负荷差别仍然存在于较新的办公室套房,Excel 2013年?

评论都关门了。