乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>Excel</em>模糊匹配-excel 模糊搜索,excel模糊匹配通配符

<em>Excel</em>模糊匹配-excel 模糊搜索,excel模糊匹配通配符

作者:乔山办公网日期:

返回目录:excel表格制作


在excel中如何用VLOOKUP进行模糊查找
作者:iamlaosong

该函数的语法规则如下:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
参数 简单说明 输入数据类型
lookup_value 要查找的值 数值、引用或文本字符串
table_array 要查找的区域 数据表区域
col_index_num 返回数据在区域的第几列数 正整数
range_lookup 匹配方式 TRUE(或不填)、FALSE
使用此函数时,最后一个参数一般都填0(FALSE),表示精确匹配,如果找不到,则返回错误值 #N/A。如果填1,则表示模糊匹配,也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。
不过这个模糊匹配有个前提,就是查找区域中第一列必须排序,还必须是升序,否则结果不可预料。
此外,这种查找是从第一个字符开始比较,也不存在什么通配符,所以类似“安徽邮政速递物流公司”通过“邮政速递”是没有办法匹配到的,但是“安徽邮政”倒是可能的。
和这个函数有点类似的函数是MATCH,差别是前者返回单元格的值,后者返回单元格的位置。
这个模糊查询用起来麻烦,返回值也e799bee5baa6e79fa5e98193e78988e69d83365不太靠谱,所以我认为,除了一些特殊的场合,这个模糊查询功能基本没啥用处。
那是不是就没有办法了呢,办法还是有的,那就是用“通配符+精确匹配”方法。
还是上述例子,用“*邮政速递*”还是可以匹配到“安徽邮政速递物流公司”这个值的,如果是单元格的值,则用连接符&连接*号,例如在sheet2的A列模糊匹配A1单元格的值,匹配后取回C列值:
=VLOOKUP("*"&A1&"*",Sheet2!A:C,3,0)
需要注意的是,返回的是第一个符合匹配的结果。match函数也有类似功能。例如:
=MATCH("*"&A1&"*",Sheet2!A:A,0)
返回的是匹配位置,注意,位置是区域内的相对位置,比如A10:A100,A10就是第一个位置。

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.FIND(B1,A1:A7)表示在A1:A7内查找B1内容,如果查找不到则返回错误值,如果查到返回在文本中的位e799bee5baa6e78988e69d83366置。

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

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


先提取出来再查找
如ABCD在A1单元格
公式类似于
=VLOOKUP(LEFT(A1,3),A:B,2,)

楼主是想用公式让表2模糊模糊引用表1的数据吧,可以用通配符解
可以在表2的B1D单元格写入公式
=VLOOKUP("*"&A1&"*",Sheet1!A:B,2,0)
公式向下复制

注:公式要求表二里的数据必须包含于表1之中
如果只是后面不一样可以把前面的*去掉
=VLOOKUP(A1&"*",Sheet1!A:B,2,0)

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网