Excel有通配符的怎么精确查询(Excel通配符的3类用法)
大家好,我是哪个爱聊Excel的胖廖晨,最近有好多网友私信,让我聊聊关于模糊查询的通配符用法,今天就抽时间来扒一扒使用它的那些事。闲言少叙,书归正传,通配符并非Excel独有,在很多应用程序或软件都有它的身影,不过每个软件中的通配符有所不同罢了。
01
符号含义
在Excel中,通配符有3个*?~,哪么问题来了,它们都代表什么含义呢?
三个符号中,前2个为占位符,所谓占位就像是你在图书馆座位上放的书本,它可以是任何人,占位符的作用也是如此,第3个为转义符,转义就是将特殊功能或含义的字符,转化回普通的字符,至于三个符号的具体含义,我来一一详解:
*:表示0到N个字符,单独使用时,表示非空;?:表示1个字符,单独使用时,表示非空;~:比如将*?~转化成普通字符:~*,~?,~~在Excel中,通配符可用的地方很多,可以用在查找和替换,也可以用在筛选中,还可以用在条件格式里,当然还有不可或缺的公式中,支持的通配符的函数也是不胜枚举,比如有:SUMIF,SUMIFS,COUNTIF,COUNTIFS,HLOOKUP,VLOOKUP,MATCH...等。
02
初试牛刀
先来一个简单的例子,近距离熟悉一下通配符的用法。现有一个表格的数据如下:
表格数据结构(图1)
要求找出李姓,名字为3个字的员工并设置背景为红色,字体为白色?
看似简单的问题,要做好也并非易事。不过在做之前,需先理清要求,姓名必须满足姓李且总长度为3,若用通配符表示,需要用到?(代表1个字符),用通配符表达式表示就是李??,表达式有了,常见的操作方法有两种:筛选和查找和替换;
筛选的操作如下:
1.选中任一单元格,ctrl t,弹出表窗口,勾选表包含标题(M),点击确定或点击【数据】下的【按钮】或ctrl shift L;
2.点击员工筛选按钮,弹出菜单中选择文本筛选,选择包含命令,录入李??,点确定
筛选使用通配符案例1(图2)
3.选择筛选出来的员工,ctrl 1,调出自定义样式窗口,选择填充,选择红色,点确定;最后取消筛选。
筛选使用通配符操作步骤示意图(图3)
接下来看一下查找和替换怎么实现吧!
1.CTRL F,弹出搜索窗口,在查找内容输入李??,然后点击查找全部(I)按钮;
2.默认自动选第一条结果,ctrl a选中所有结果,
3.步骤参考图3,给单元格字体设置字体和背景颜色;
查找和替换使用通配符步骤示意图(图4
不过除了上述的2种方法,还有一种更简便的方法,就是条件格式,具体操作如下:
1.选中A列,点击【开始】下的条件格式按钮,弹出选择菜单中,选新建规则(N)命令;
2.弹出新建格式规则窗口,选中“只为包含以下内容的单元格设置格式”,只为满足一下条件的单元格设置格式(O),选特定文本,包含,录入李??;点击格式(F)按钮设置背景红色,点确定;
条件格式使用通配符操作示意图(图5
上述的3种方法,你更常用哪一种呢?
如果都是一次操作,其实用哪种都没差,如果你有修改清除内容操作,一旦涉及到已经修改样式的单元格,就需要手动清除单元格的样式,这样如条件格式都是自动完成的,符合条件自动设定样式,不符合则自动清除,即便新增数据也是,不过这都依赖与,使用条件格式前选择的引用区域的大小。不过在操作的时候,一定要注意细节,否则出错了,你都不知道因为什么?
03
问题出现
还是上面的例子,现要找出姓孙且名字为3个字的员工并标注出来,于是我就通过修改条件格式的通配符表达式,具体操作如下:
1.点击【开始】下的【条件格式】按钮,弹出菜单选择,管理规则名称;
2.修改【显示其格式规则(S)】选择当前工作表,选中之前做的规则,点击【规则(E)】按钮,弹出格式规则窗口;
3.将李修改为孙,点击确定。
条件格式操作示意图(图6
当检查结果时,发现多出一个叫公孙浩明的员工,这是怎么回事呢?难道是操作方法的不对,然后分别尝试了筛选和查找替换,结果一样。
那么问题出在哪呢?突然有一个词在脑中闪过,包含,它在条件格式和筛选中都出现过,难道这就是问题所在,包含意味着只要包含孙某某这三个字就是复合条件,而不是以孙字开头且名字为3个字。
既然找到可疑的根源,下面就是去验证分析是否正确,当然查找替换没有调整匹配模式选项,就可以忽略。
在筛选中,找到正确的匹配选项:等于,经过测试完美解决了上面的问题,不过在条件格式中特殊文本只有包含,不包含,始于,止于,后两者不支持通配符,
看来解决这个问题,就需要用到【使用公式确定要设置格式的单元格】,不过在使用之前需要挑选一个合适的函数且支持通配符,我想到一个比较简单的函数COUNTIF,按惯例先解析一下它的用法:
语法结构:COUNTIF(条件区域,条件表达式)功能:统计条件区域符合条件表达式的单元格总数条件区域:单元格引用范围,条件表达式:由比较运算符:=,<,<=,>,>=,<>,与文本,数字,逻辑值组合而成,当为=时,可省略,通常用“包裹,若为纯数字时,可省略双引号(支持通配符);本例的姓名所在的列为A列,在F1录入:=COUNTIF(A1,”孙??”),然后鼠标移至F1的右下角,鼠标变为+时,双击填充公式。
在结果中,当满足条件的返回1,不满足的返回0,结果很好的排除了公孙浩明,已达到要求。现在就看如何将公式应用到条件格式中?
04
解决方法
条件格式使用【使用公式确定设置格式的单元格】需要注意两点:
1.录入公式时,引用单元格是关于第一行的单元格,否则会出现错位的现象;2.条件表达式的为TURE或1,触发设置的样式想了解条件格式高级的用法,可以翻看文章《小白讲Excel 条件格式中高级用法,你值得拥有!》;
具体的实现步骤:
1.选中A列,点击【条件格式】按钮,弹出新建规则名称,弹出新建规则窗口;
2.选中【使用公式确定设置格式的单元格】,录入公式=COUNTIF(A1,”孙??”);
3.设置字体颜色和单元格背景,点击确定。
条件格式使用函数操作示意图(图7
由于这类表格我经常需要修改筛选条件,再加上我是个稍微有点追求的工程师,就把它做成了组件,原理并不复杂,只是将筛选的条件配置在表格的某个单元格里,这样修改单元格内容,就能实现不同条件的筛选功能。其实具体操作也不难:
G1:H1,分别录入员工,孙??;重复图6的操作步骤,将公式改为=COUNTIF(A1,$H$1),确定;如果筛选条件变了,修改H1单元格的内容就好,这也是我喜欢使用它的原因之一。
现在回头看这三种方法,从操作上说,只要熟练后,每种操作都可在1分钟内完成,这要区分哪种更高效,就很难办了,但是条件格式在函数和编程思想的加持下,可以实现匹配不同条件,只需一次制作,后期只需简单的修改条件就能实现,这才是给我们的工作真正的做减法,而且也可以大大降低操作人员的学习成本。
好了,今天的文章就到这了,希望你通过阅读,能有所收获,喜欢我就关注我吧,欢迎点赞,转发,如果你在工作遇到什么问题,可以私信或留言给我,我会第一时间帮你解答。花叶草木深,工作求奖金。欲知得金法,找我胖廖晨。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com