admin 管理员组文章数量: 887021
2024年2月29日发(作者:matlab图像傅里叶变换)
一文搞定Vlookup的多列数据查找
Vlookup函数在日常excel的办公应用中使用非常广泛,可以说是一定要熟练掌握的excel函数。它主要应用在各种数据匹配上,能够大幅度提高我们的工作效率。下面我们从vlookup函数的基础应用到多列数据匹配进行详细解析,让大家通过这一篇文章就能较熟练的理解并运用vlookup。
一、vlookup的函数式:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
它由lookup_value;table_array;col_index_num;range_lookup 四个参数组成。
第一个参数lookup_value代表我们要查找或匹配所依据的字段值,如下图:
我们要分别查找王浩、王健、李阳三人的外语、历史、语文成绩。根据什么查找呢?当然是左右两个表格中都含有的且能够一一对应的“姓名”这个字段。所以第一个参数我们选取的是H2单元格(如上图)。
注意:第一个参数千万不要选取左边表格中的“姓名”那里,因为我们要查找的是“王浩”,“王健”和“李阳”三人的成绩,不是查找丁丽等人的成绩。左边的表格我们只是当做一个类似的“数据库”,在这个数据库里查找我们所需要的数值。
第二个参数table_array代表的是我们需要在哪个范围进行查找,在上图中我们可以看出我们选取的范围是整个A到F列,因为只有A到F列才包含所有我们需要查找的数值。
第三个参数col_index_num代表的是我们需要查找的值位于左侧表格中的第几列(相对于我们查寻所依据的“姓名”值来说)。如下图;“外语”这列相对于“姓名”正好在第五列。
第四个参数不多说了,我们一般都会选0,代表精确查找。
以上就是vlookup的基础操作。
其实大家也许都看出来了,右侧的表格中我只查到了三人外语的成绩,其余两列的成绩并没有查出来,到这里也许有人会说,直接将I2单元格向右拖动不行吗?先看一下为什么不行!
如上图所示:很明显第一个参数我们本来所依据的字段应该是“姓名”,但现在变成了“外语”这一列,为什么“外语”这列不行?因为左侧表格中“外语”分数相同的就有“李阳”和“李圆圆”那么我们在查找的过程当中就不会满足结果的唯一性了,这也解释了为什么要用“姓名”这个字段为依据进行查找,因为它唯一。
第二个参数由A到F列变成了B到G列,很明显查找范围缺失了A列。
第三个参数本来应该是相对位置的“值”。当地一个参数变化时,它却没变,肯定不对了。
那么到底该如何运用vlookup查找出多列数据呢?
(三个方法搞定)
通过上面例子的比对,我们应该有所思考,之所以不能拖动函数公式来查找是因为问题出在:
1、第一个参数拖动后会变化,而这个参数是不能变的,需要唯一性。
2、第二个参数也就是查找范围,拖动后也是变化的,而这个参数也是不能变的,因为查找范围是有一定的。
3、第三个参数是一个相对位置的值,该怎么更好的使它与第一个参数相对应呢?
接下来我们就通过解决以上三个问题来进行多列数据的查找!
如图所示:
解决第一个问题,我们用到了一个“$”,这个符号在excel当中也是常用的,它表示的是绝对引用,相当于固定的意思。
例如:$H2表示的是固定H列,行数可以变化,如图所示:
另外,当加两个“$”写作$H$2时,相当于把列数固定,行数也固定了,也就是说这个单元格被绝对引用了,无论怎么拖动函数公式,它的位置都不会变化。
所以这个符号很好的解决了我们的第二个问题,如图所示:
无论光标定位在哪个单元格,第二个参数都是A到F列这个范围。
接下来我们解决第三个参数的问题,该怎么与第一个参数相对应呢?如图所示:
我们发现“外语”、“历史”、“语文”分别位于"姓名"列的第“5;6;3”列,所以此时我们要用到一个数组公式,如下图所示:
第一步我们选中I2:K2,如上图所示,然后输入公式=VLOOKUP($H2,$A:$F,{5,6,3},0)
注意:公式完成后一定要按住Ctrl+shift+回车,这时得到的结果是一行三个单元格的数值。然后下拉公式即可。
为了便于理解,大家可以认为此处我们先选中I2:K2是将这一横行三个小单元格看成了
一个大单元格,之后输入vlookup公式后每个小单元格依次执行{5,6,3}列的查找。
关于数组这一块建议大家好好看看,说真的excel里面好多函数都是组合运用的,多学点没坏处!
其实运用数组这个方法也是有局限性的,首先当需要查找的列很多时我们输入公式时会比较麻烦,而且当我们不知道要查询的值在第几列时,此方法就更不行了,接下来我们来看看第二种方法。
方法二:VLOOKUP和MATCH函数
我们先来看看match函数:
MATCH函数用于返回需要查找的数据在区域里的相对位置。看到这里应该能想到这个函数一定会用在vlookup第三个参数的位置。
MATCH的语法结构:(查找对象,指定查找的范围或者数组,查找方式)。接下来我们来看实际应用,如图所示:
在I1单元格我们输入公式:=VLOOKUP($H2,$A:$F,MATCH(I$1,$A$1:$F$1,0),0)
此公式中由于我们要借助match函数分别查找“外语”,“历史”,“语文”这三个“值”在左图中所处的不同列数,所以I1单元格我们锁定了行数。
由于我们只需要列数,所以查找范围我们输入:$A$1:$F$1
回车后可以横托,竖拉单元格得到如图结果。
这个方法的好处在于如果我们需要查询很多间隔列的值,而且不容易数列数的时候,就可以用到此法。
此法是这三种方法中最实用的一种,建议熟练掌握!
方法三:VLOOKUP和MATCH函数
这个方法局限性很大,需要查找的各列连续不间隔,如图所示:
需要查找的“语文”“数学”“外语”三列与左图三者的排列是连续不间断的。
我们输入公式=VLOOKUP($H2,$A:$F,COLUMN(C1),0),如图:
COLUMN(C1)返回的值为C1单元格在表中的列数3,以此类推“数学”“外语”返回的列数是4和5。由此也可以看出此方法的局限性很大。
好了,到此vlookup查找多列值得方法已经全都讲完了,第二种方法是必须掌握的!
版权声明:本文标题:三种方法搞定Vlookup的多列数据查找(图文详解) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1709142520h538884.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论