这才是王者,Vlookup函数在它面前都得黯然失色

我曾经参加过一次Excel的培训,主题专门讲函数应用的。当时我认为这一块算是我比较擅长的,应该没有什么要学习的(曾经的年少轻狂)。我之所以去是因为我把这当成了福利,因为可以在五星级酒店白吃白喝好几天。还记得是第一天的下午,老师正在讲解查找引用类的函数,我以一种不屑一顾的态度连珠炮似的抢先讲解了Vlookup函数,心想:“看你还有什么说的!”。结果老师不紧不慢的来了一句:“Vlookup函数的确是一种非常强大的查找引用函数。然而,这并非今天的重点,今天我们要讲的是查找引用类函数的王者:index函数。”我当时一下子懵了,Index函数是什么鬼?居然还是王者?!于是我仔细听了下去,深深地被这个函数的强大和灵活所折服,也为自己的无知和张狂感到无比羞愧……

今天我就给大家解密一下这个函数,也算是对当时老师的致歉。

Index函数是什么鬼?

Index函数是Excel中一个非常实用强大的引用函数,它的目的就是引用特定单元格或单元格区域的值。Index函数总共有3个参数,分别是array,row_number以及Column number。公式详细如下:

=Index(array,row_number,Column number)

翻译成中文就是:=index(数据区域,(从上往下)第几行,(从做往右)第几列)

举个例子,咱们在H4单元格输入:=index(A1:K22,4,3),它表达的意思就是选择一片区域A1:K22,然后从上往下数到第4行,再往右数到第3列,然后返回这个单元格(C4)的值:84,因此此公式返回的值为84。如下图:

这才是王者,Vlookup函数在它面前都得黯然失色_第1张图片
Index函数详解

这就好比是说在平时生活中,你老婆喊你去取包裹:“喂,老公!你帮我到财经大学实验楼(数据区域)1楼(第几行)3单元(第几列)拿个包裹嘛。” 这个index是不是非常简单。我们再来看看几个例子吧。

这才是王者,Vlookup函数在它面前都得黯然失色_第2张图片
取某个区域第几行第几列交叉单元格的值

说到这里相信大家对Index函数有了一个初步的认识,但是还远没有认识到这个函数的强大功能。在介绍index函数的强大功能之前,我得先说一说index的黄金搭档:match函数。如果没有它,Index就只能是Index函数,被扔在一个角落,永远不被人知晓了。

Match函数是干什么的?

一句话概括match函数的作用:返回一个数据在系列数据中的位置是第几行或者第几列的。它包括3个参数:

lookup_value:某个内容(包括数值,文本等),实际工作中通常为单元格引用;

Array:一系列的内容,通常为一行或者一列数据;

Type:匹配类型,这里只涉及精确匹配,即第一个参数的内容必须要包含在第二个参数的“一系列内容“中,否则结果将出错。

来,我们看一波具体的例子:


这才是王者,Vlookup函数在它面前都得黯然失色_第3张图片
我们如何快速得到着两个问题的答案呢?

1.李晨位于A1:A22这个区域的第几行呢?用肉眼的话,你可以从A1一直往下数,数到“李晨”才停下,答案是18。但如果你想提高效率的话,就用match函数,输入一下的公式即可:=match("李晨",A1:A22,0)。这就是告诉Excel,我要你帮我看看,“李晨”这名字在“张华……张得能”这一串名字中是第几个,我们只需要告诉Excel“李晨”,以及那一串名字,以及告诉他,肯定有李晨这个人(匹配为0),它就自动帮助我去数数了。

2.英语位于A1:D1这个区域的第几列?方法肯定是跟上面一样了。输入公式:=match("英语",A1:D1,0),敲回车即可。


这才是王者,Vlookup函数在它面前都得黯然失色_第4张图片
match函数就是这个样子的

Match函数单独使用其实是没有什么用的,它的存在主要是为了给被人做嫁妆用得。而它最常出现在Vlookup函数和Index函数中,以Index尤甚。现在我们先来看看它是怎么给Vlookup做嫁妆的。match函数在Vlookup中主要是用于Vlookup的第三个参数,也就是确定列序号。这使得Vlookup函数着实灵活了不少,请看下面的例子咯。


这才是王者,Vlookup函数在它面前都得黯然失色_第5张图片
写好公式即可一键复制到选中的区域,而不用一个一个更改列序号了

3.Vlookup中嵌套Match需重点关注的是引用的问题。

Vlookup函数中的引用问题:用于是通过A列的到N1:S18中进行查找,因此第一个参数的列应该锁定。我们查找的区域永远都是N1:S18,公式复制时,不希望其变化,因此用绝对引用。

match函数中的引用:我们想通过match函数返回G1:K1等5个单元格的值分别在N1:S1这个区域中的位置分别排第几位,因此区域N1:S1是固定的,因此绝对引用,而match函数只应用于列,因此行不能动,因此混合引用,将行锁住。我们查找的值在N1:S1这个区域一定是存在的,因此精确匹配,用0表示。

注意:在Vlookup中嵌套match时,match里第二个参数的区域和Vlookup函数第二个参数的列数应该保持一致。

废话不多说,大家看上面的例子慢慢琢磨去。

Index为何需要match 这个黄金搭档呢?

没有Match函数这个黄金搭档,Index函数不要说秒杀Vlookup了,想活下来都难。Index函数完胜Vlookup函数的一点就是,Vlookup函数有一个局限,那就是lookup_Value这一列的值必须要存在于Table_Array这个区域的最左边,否则一般会出错(当然你也可以写很复杂的函数,或者做一定的调整,那样不出错,不过很麻烦)。而使用index函数这不受此限制。我先来一波简单的index案例:

这才是王者,Vlookup函数在它面前都得黯然失色_第6张图片
上下左右随心所欲拖拽吧

好,现在我们将G:K列全部已到移到姓名列的左边,那么我们的公式还有效吗?咱们试试:

这才是王者,Vlookup函数在它面前都得黯然失色_第7张图片
姓名列随便怎么放,结果都不会有变化


最后我们也来看看Vlookup会是什么效果?

这才是王者,Vlookup函数在它面前都得黯然失色_第8张图片
当姓名列不放在最左侧时将会出错

今天的内容就分享到这里,欢迎关注,欢迎支持。

公众号或者其他自媒体平台转载请简信索取授权,否则视为侵权。谢谢!

你可能感兴趣的:(这才是王者,Vlookup函数在它面前都得黯然失色)