您当前的位置:首页 > 互联网教程

如何用VLOOKUP和LOOKUP函数通配符用法

发布时间:2025-05-24 20:59:46    发布人:远客网络

如何用VLOOKUP和LOOKUP函数通配符用法

一、如何用VLOOKUP和LOOKUP函数通配符用法

在日常工作中,很多时候为了录入方便将某些内容只录入关键字或者简称,比如说公司名称北京市天成化工有限公司,在录入时可能只录入天成两个字,这样在后期数据统计时由于名称不是全称可能造成很多麻烦,本例介绍如何用VLOOKUP函数通配符用法和LOOKUP函数来实现模糊匹配,通过简称或者关键字查找全称。

1、首先看一下原始数据,A列是一些公司全名,在B1处输入一个简称或者说关键字(必须是在A列某个文本中连续包含的关键字),要在C1返回A列对应的全称。

2、双击C1单元格,输入公式=VLOOKUP(*B1*,A1:A7,1,),回车后C1单元格就返回了B1对应的A列公司全称。

3、VLOOKUP通配符方法介绍:=VLOOKUP(*B1*,A1:A7,1,)代表的含义是在A1:A7的范围内查找包含B1关键字的单元格,找到后返回A1:A7第一列的内容。函数中的*代表任意字符,也就是说在A1:A7内查找B1文本前后任意字符的内容,也就是包含B1文本的意思。其中的1代表返回A1:A7数据区域第一列结果,最后一个逗号后省略参数代表的是精确匹配,也可以输入0或FALSE。

4、本例也可以用LOOKUP函数完成。双击C1单元格,输入公式=LOOKUP(1,0/FIND(B1,A1:A7),A1:A7)即可。

5、我们来看一下LOOKUP运算过程。首先FIND(B1,A1:A7)表示在A1:A7内查找B1内容,如果查找不到则返回错误值,如果查到返回在文本中的位置。

6、0/FIND(B1,A1:A7)这部分让上一步返回的值参与运算,如果上一步返回的是数字,结果就返回0否则仍返回错误值。

7、最后LOOKUP(1,0/(数组),A1:A7)部分返回数组中最后一个小于等于1(也就是数组中的0)的值对应的A1:A7的内容,也就是全称。

二、Excel VLOOKUP函数怎么通过关键字和通配符查询

1、原始数据为A1:D5区域,在A8单元格输入关键字“张三”,根据这个关键字查询A列姓名中“张三丰”和“张三丰益”对应的工号。

2、因为无法找到完全匹配的结果,所以返回错误值。

3、VLOOKUP可以使用通配符进行查询,“?”代表一个字符,“*”代表任意长度字符。

4、可以查询名字以“张三”开头的第一个值对应的工号信息,本例返回“张三丰”工号。

5、第一参数使用两个问号,表示以“张三”开头后面有两个字符长度的姓名对应的工号,也就是“张三丰益”对应的工号信息。

6、将返回以A8开头,后面有一个字符的姓名对应的工号。

三、[Excel]当lookup遇上通配符

"为什么vlookup函数会给我错误的结果?难道这是Excel的bug?"

单元格D3,D4中分别是要查询的字段,但E3、E4中的查询结果,却不是正确的结果。这是为什么呢?

其实,这是因为你遇上了通配符。

字段中的问号"?"和星号"*"都是Excel中的通配符。他们可以被用在诸如Find/Replace, Search, Match以及Lookup这样的函数中,具体说来:

回到上述的例子中,在进行第一个vlookup时,“裤子?8”意味着这样的一个字符串:

所以造成在使用vlookup时,Excel首先匹配到了A5单元格的“裤子28”。

而在进行第二个vlookup时,“裤子*9”则首先让程序匹配到了A4单元格的“裤子蓝色29”。

因此,如何才能在使用vlookup查询包含“?”或“*”这样的字符串呢?

你需要在“?”/“*”前添加一个“~”

如图所示,在通配符前添加“~”后,就能查询到正确的结果了。

不过,如果你不记得在查询前给单元格中的通配符加上~,那你可以使用SUBSTITUTE函数。

=VLOOKUP(SUBSTITUTE(lookup_value,"*","~*"),$A$3:$B$7,2,0)