当前位置:   article > 正文

vlookup匹配值不唯一_看完这篇文章,你还会说自己不会用vlookup吗

定位值不唯一时,vlookup如何进行匹配

在Execl函数中,有那么一个万金油函数,它既可以正向查找、逆向查找,还可以多条件查找、模糊查找、结合通配符查找,它就是Execl明星级函数vlookup。不论你从事会计、审计、银行、券商,还是人事、行政、销售,只要与数据打交道,vlookup都是当之无愧的使用最频繁的函数之一。

82138fb0cae9a0e27bb8fca0e7abcc3f.png

首先介绍vlookup的表达式:

=vlookup(查找值,查找区域,返回列,精确查找or模糊查找)

【参数注意事项】

查找值:注意文本与数值的差异,注意有无空格

查找区域:区域第一列必须为查找区域

返回列:列为相对关系

准确或模糊:精准查找时,查找值与查找区域内单元格完全匹配,用0表示;模糊查找时,查找值与查找区域内单元格近视匹配,用1表示

【查找方式】

1、正向查找

日常生活中我们使用最多的就是正向查找,简单直接。

表达式:

=vlookup(查找值,查找区域,返回列数,0)

例子:找到科目代码为【1003】的科目名称。

其中,科目代码选定【D2】单元格;查找区域为A、B两列,为保证A、B两列位置固定不变,可加上绝对引用;返回列数为相对概念,所选择的查找区域为A、B两列,我们需要的返回结果为【B】列,则返回列数=2(相对第二列)

6c162e29ac8f7e28552736aaf7d4b2f6.png
bf5d5b194d9118bd2087034cdfa54032.gif

2、逆向查找

vlookup正向查找只能从首列开始查找,返回表格中首列右侧的内容,不能逆向查找及返回。vlookup逆向查找需要嵌入新的函数和数组。

表达式:

=vlookup(查找值,IF({1,0},查找值所在列,结果值所在列),2,0)

逆向查找本质上通过IF函数构造新的查找区域。

因为有数组输入后,需要同时按ctrl+shift+enter得:

={vlookup(查找值,IF({1,0},查找值所在列,结果值所在列),2,0)}。

其中,IF函数表达式:

=IF(判定条件,正确返回值,错误返回值)

{1,0}为一个数组,数值1对应查找值所在列,数值0对应结果值所在列,通过构造数组区域使查找值与结构值在数组内位置调换,实现逆向查找。

例子:找到科目名称为【固定资产】的科目代码

8c4863f3fbfafe548e8516812b03d1b4.png
5b9d9e1fd1ddfea48f1b6690c8b1af1e.gif

3、多重条件查找

vlookup多重条件查找为单个条件查询的一种扩展,同时需要利用到IF函数和数组函数。

其表达式:

=vlookup(查找值1&查找值2,IF({1,0},查找值1所在列&查找值2所在列,结果所在列),2,0)

同理,通过IF函数构造新的查找区域。

因为有数组输入后,需要同时按ctrl+shift+enter得:

={vlookup(查找值1&查找值2,IF({1,0},查找值1所在列&查找值2所在列,结果所在列),2,0)}

例子:查询北京市南京中路的房价,由于各变量不唯一,需使用多重条件查找。

f1b2c247c370eb4a656e0e29dd39c26c.png
08df716c64212d2be5d06b93149a4f5e.gif

4、通配符的结合使用

实际工作中,存在查找值与查找区域内单元格值不完全匹配的情况,如下表所示,查找值与查找区域内【客户】为包含关系,此时需要用到通配符。

表达式:

=vlookup("*"&D3&"*",$A:$B,2,0)

注意通配符与单元格之间用&隔开。

cdc56855279880b4475f311b34cb97b4.png
c892f165310be48eac4bf65cb372c520.gif

5、模糊查找

模糊查找会沿着vlookup函数的逻辑进行模糊查找,找到小于或等于查找值的最大值作为查询的结果。简单点说,编号1的员工销售金额为145000元,其对应的模糊查找值为100000元(小于或等于查找值的最大值)。

表达式:

=vlookup(D2,$H:$J,3,1)

01cb59e3bfc5c28f27ecf67242f923d7.png
b663bfcff4bd5df2c45e70cfb67abbcd.gif

看到这里,你已基本掌握明星函数vlookup的查找方式了,下面我们来谈谈使用vlookup的常见错误吧。

8144e0e393e810fb985dad9b7b59b5d5.png

【常见错误】

1、未添加绝对引用

如果未添加绝对引用符号,由于单元格之间相对引用的关系,下拉单元格可能导致查找值未包含在查找区域内,vlookup输出结果错误。

例子:在下表中F2单元格内输入vlookup函数:

=vlookup(E2,B2:C13,2,0)

下拉F列单元格,发现科目代码为【1002】和【1122】的科目名称出现错误,这是因为由于未添加绝对引用,下拉单元格时,【1002】和【1122】的科目代码未包含在查找区域内,所以导致vlookup输出结果错误。

d1b98a281bc7be56697adb69c893026a.png
7581f69c0fe43a03466ef863fd6a7b4f.gif

2、未区分文本型数值与数值

下表显示,查找值科目代码虽然与查找区域内科目代码文字一致,但一个为文本格式,一个为数值格式,不能完全匹配,vlookup查找结果显示错误。

解决方法:使查找值与查找区域内被查找内容格式一致。例如,对查找值【科目代码】添加【&""】转换为文本格式,即可输出查找结果。

42689d0eb48f103bab2539efa1654a25.png
bbd0c7edbeb39a452500329ae320ba05.gif

3、空格等不可见字符

下表vlookup的输出结果有两处错误,这是因为科目代码【1003】和【1125】单元格字符的左边和右边分别存在一个空格,肉眼不可见,使得查找值与查找区域内的被查找内容不完全相同,从而查找结果错误。

解决方法:通过【查找替换】方式,在【查找内容】处输入空格,【替换为】不输入任何内容,点击【全部替换】,清除单元格内所有空格键。

cd76b3da1d225f79fb03088822c816af.png
be05a16527937f2c1de64099739d9ad5.gif

4、第一列非查找列

vlookup函数要求查找区域第一列必须为【查找区域】,如果第一列不为查找区域,那么输出结果为错误。

6b2b2055b275c72da1f28ca3b0ca8f3c.png
44dfc2c2852da8ae7926515521e60bd9.gif

来源:相逢未必偶然。版权归原作者所有(如有转载,请注明以上信息)。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/627584
推荐阅读
相关标签
  

闽ICP备14008679号