Hello,大家好,今天跟大家分享下我们如何使用vlookup与通配符实现模糊查询,这个效果在工作中非常的实用。当数据比较多的时候,我们不可能记得全部的数据,通过这个设置就可以根据关键字来查找数据非常的方便,下面就让我们来看下它是如何操作的
一、认识通配符
通配符这个概念很多人可能都是第一次听到,通配符的意思就是说这个符号可以代表任意一个字符,也可以简单的理解为可以代表所有的字符,他可以代表数字,也可以代表字母汉字符号等等
今天跟大家介绍2个通配符,也是我们在工作中经常用到的,就是一个问号与一个星号
?:代表任意单个字符,只有一个任意字符
*:代表任意多个字符,可以代表没有字符,也可以代表有无穷多个字符
比如在这里李白这个名字。使用通配符来表示就是李?,当然了星号也可以代表这个名字不过范围太大了,不够准确,以上就是通配符的用法
二、vlookup与通配符实现模糊查询
vlookup与通配符实现模糊查询其实很简单,我们只需要将查找值的前后分别使用连接符号,连接上一个星号即可,比如在这里我们想要实现输入月亮就找到月亮与六便士这本书,只需要将公式设置为:=VLOOKUP("*"&E2&"*",B:C,1,FALSE)即可,如下图
跟大家讲解下这个函数的计算过程,他其实就是vlookup的常规用法
第一参数:"*"&E2&"*",E2就是输入的关键,我们在关键字的前后分别连接2个星号
第二参数:B:C,就是查找的数据区域
第三参数:1,书名的数据区域的第一列,所以设置为1
第四参数:false,精确匹配
想要查找到书籍的售价方法是一样的,我们只需要将vlookup的第三参数设置为2即可,因为在这个售价在数据区域的第二列,公式为:=VLOOKUP("*"&E2&"*",B:C,2,FALSE)
三、返回多个结果
也可以设置通过输入关键字来返回多个结果,比如在这里我们想要输入人字,就返回所有包含人字的书名与售价,首先需要在数据的最前面设置一个辅助列,将公式设置为:=COUNTIF($B$2:B2,"*"&$I$2&"*"),函数的效果如下图所示,这样做的效果是每遇到一个带有人字的书籍名称就会增加1
跟大家简单的讲解下函数个函数
第一参数:$B$2:B2,b2是第一个书籍所在的位置,第一个b2绝对引用,第二个相对引用,这样的话向下拖动数据,数据的范围会依次增加
第二参数:"*"&$I$2&"*",i2就是关键字,我们在关键字的前后分别连接两个星号
虽然构建的辅助列他是有重复值的,但是需要查找的数据都是在重复值的第一个位置,而使用vlookup查找数据遇到重复值,vlookup函数仅仅会返回第一个找到的结果,通过这个特性,查找值就变为了从1开始的序列,构建序列可以使用row函数,他的作用是获取行号,只需要将公式设置为:row(a1),然后向下填充就会构建一个从1开始的序列,这样的话只需要将公式设置为:=VLOOKUP(ROW(A1),$A:$C,2,FALSE)即可查找到书名
跟大家简单的讲解下这个函数
第一参数:ROW(A1),利用这个函数构建从1开始的序列
第二参数:$A:$C,查找的数据区域.
第三参数:2,书名在数据区域的第二列
第三参数:false,精确匹配
查找售价与之类似只需要将vlookup的第三参数设置为3即可,我们也可以在vlookup函数的外围嵌套一个iferror函数来屏蔽下错误值,向下多填充几个函数,这个时候就是就需要设置为:=IFERROR(VLOOKUP(ROW(A1),$A:$C,2,FALSE),"")即可
以上就是今天分享的全部内容,怎么样?你学会了吗?有什么问题可以留言讨论
我是Excel从零到一,关注我,持续分享更多excel技巧