Excel利用VLOOKUP进行模糊查
该函数的语法规则如下:
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,差别是前者返回单元格的值,后者返回单元格的位置。
这个模糊查询用起来麻烦,返回值也不太靠谱,所以我认为,除了一些特殊的场合,这个模糊查询功能基本没啥用处。
excel 查字符串函数那是不是就没有办法了呢,办法还是有的,那就是用“通配符+精确匹配”方法。
还是上述例子,用“*邮政速递*”还是可以匹配到“安徽邮政速递物流公司”这个值的,如果是单元格的值,则用连接符&连接*号,例如在sheet2的A列模糊匹配A1单元格的值,匹配后取回C列值:
  =VLOOKUP("*"&A1&"*",Sheet2!A:C,3,0)
 需要注意的是,返回的是第一个符合匹配的结果。match函数也有类似功能。例如:
  =MATCH("*"&A1&"*",Sheet2!A:A,0)
返回的是匹配位置,注意,位置是区域内的相对位置,比如A10:A100,A10就是第一个位置。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。