▲本期分享技能请观看
上一次分享的FIND函数你学会怎么灵活运用了么?可惜FIND函数有自身的局限性,那就是无法支持通配符模糊查找,不用担心,今天就给大家介绍一个支持模糊查找的函数SEARCH。让我们看看SEARCH这个函数如何帮助我们解决日常生活中的难题。
首先来看看函数解析,3个参数:SEARCH(find_text,within_text,[start_num])
① find_text:要找什么?
② within_text:在哪找?
③ start_num:从哪开始找?
还有一个与SEARCH相似的函数SEARCHB,参数跟SEARCH相同,第1个参数是按字节查找。区别只有在查找内容有汉字的情况下才会显现。通常一个汉字代表两个字节,一个英文字母或者数字代表一个字节。
对于SEARCH 函数,以下关键的几点我们要了解:
① SEARCH和SEARCHB 支持通配符「?」,「*」的使用。
② 如果查找「?」,「*」本身,要在前面加个「~」。
③ SEARCH 和SEARCHB不区分大小写。
让我们通过实际案例来看看如何灵活使用SEARCH 函数吧。
案例1:判断电话号码是否是以189开头第7位为6末尾为1。
要求看似很复杂,如果用FIND函数真的很难实现,可是用SEARCH就可以轻而易举的完成。具体方法如下:
① 在J2单元格录入公式:=IF(ISERROR((SEARCH("189???6???1",I2))),"NO","YES")
② 下拉填充公式。
公式解析:
① 「?」代表单个任意字符。我们按照要求,构建一个符合要求的电话号码「189???6???1」,这个号码以189开头,第7为是6,末尾是1。「?」要在英文输入法的状态下录入。
② SEARCH("189???6???1",I2)用来表示在I2单元格中查找我们构建的电话号码。如果能够查找到会显示1,如果查找不到,会显示#VALUE!。
③ IF(ISERROR((SEARCH("189???6???1",I2))),"NO","YES")用来将错误值#VALUE!显示成NO,1显示成YES。
案例2:从所列地址中提取门牌号。
这个案例让很多小伙伴头疼不已,因为数字的长度和位置都是不确定的,我们用SEARCHB函数可以很简单的实现数字提取,快来看看怎么操作吧!具体操作如下:
① 在E2单元格录入公式:=MAX(IFERROR(--MIDB(A2,SEARCHB("?",A2),ROW($1:$5)),0))
② 下拉填充公式。
公式解析:
① SEARCHB("?",A2)用来表示在A2单元格中查找任意单字节。这种情况只能找到英文或者是数字,对于汉字会忽略,所以我们此处可以找到A2单元格中2的位置为第25个字节。
② ROW($1:$5)用来构建一个数组,结果为{1,2,3,4,5}作为MIDB函数的第三参数,用来表示提取文本长度为1个字节,2个字节……5个字节,由于门牌号基本不会超过5个数字,所以我们只构建了5个数组元素。
③ MIDB(A2,SEARCHB("?",A2),ROW($1:$5))用来提取地址中从第25个字节开始的长度为1个字节,2个字节……5个字节的文本字符串。结果如下:{"2";"23";"23 ";"23号";"23号"}。
④ -- 符号用来将数字文本数字化,数字文本会显示成数字,文本会显示为#VALUE!。结果如下:{2;23;23;#VALUE!;#VALUE!}
⑤ IFERROR为容错函数,将#VALUE!转换成0。结果如下:{2;23;23;0;0}
⑥ MAX 用来求数组中的最大值。
今天的内容就分享到这里,非常感谢大家一直以来对布衣公子的关注和支持!如果您有任何PPT和Excel技能方面的问题,您可以给公子留言,有可能您的问题就会在下一个视频中出现!
本篇文章匹配的相关PPT、视频、Excel演示课件及WORD教程下载:
https://pan.baidu.com/s/1bpeWSv9
往期教程:
Excel020-查找函数哪家强?FIND帮你忙
Excel019-文本长度的度量器-LEN &LENB
Excel018-文本截取函数三剑客-MID
Excel017-文本截取函数三剑客-RIGHT
Excel016-文本截取函数三剑客-LEFT
Excel015-多条件计数函数COUNTIFS
Excel014-秒杀一切的求和函数SUMIFS
Excel013-动态求和求平均,SUBTOTAL显身手
Excel012-Vlookup不为人知的秘密
Excel011-真真假假,傻傻分不清
……
更多技能分享请您后台回复「目录」查看
合集赠品已免费升级至25G
合集详情:布衣公子两年PPT作品大合集