二维码 购物车
部落窝在线教育欢迎您!

文本提取那些事儿:超好用的SEARCHB函数和Mid函数

 

作者:小可来源:部落窝教育发布时间:2021-07-20 16:03:05点击:3809

分享到:
0
收藏    收藏人气:0人
版权说明: 原创作品,禁止转载。


编者按:

Hello,大家好,这里是小E。我们处理数据时总免不了要查找并且提取一些重要的数据,如何在上千甚至上万行的数据中快速准确的进行查找和提取?小可老师给我们介绍了两个利器:SEARCHB函数和Mid函数,对于文本的查找提取它们是专业的!理论+案例,小可老师在线手把手教学。

 

哈喽,大家好吖~今天小可给大家带来的干货是SEARCHB”?”,文本)小妙招与MID函数的实用案例!我们一起去学习吧~~~

 

本期目录先奉上

一、SEARCH和SEARCHB

1.1统计以“182”开头“6结尾的号码个数

1.2提取数字

1.3提取数字(文字与数字混合排列

二、MID

2.1提取身份证号码中的出生年月日

2.2分列显示年、月、日

2.3一串数字拆分成单个数字并求和

2.4用MID函数判断等级


一、SEARCH和SEARCHB


知识乐园
SEARCH
SEARCHB函数查找不区分大小写,而且可以使用通配符查找。
通配符:"?"匹配任意单个字符;"*"匹配任意一串字符。
若要查找实际的问号或星号,请在该字符前键入波形符(~)


1.1统计以“182”开头“6”结束的号码个数


要求A列是号码,要求在B列统计以“182”开头、“6”结尾的号码个数。

 

 

方法:在B4单元格输入公式“=COUNT(SEARCH("182???????6",A3:A10)),按“Ctrl+Shift+Enter”三键结束。


解读:公式为嵌套函数,内层是SEARCH函数,外层是COUNT函数。

SEARCH函数在号码中查找出以“182”开头、“6“”结尾,文本长度为11的号码,查找结果以内存数组的形式保存在公式中,结果如下:
{1;#VALUE!;#VALUE!;#VALUE!;#VALUE!;1;#VALUE!;#VALUE!}

②外层用COUNT函数对数字数据进行统计(COUNT函数对于空单元格、逻辑值或者文本数据都不计数)。


小提醒:若在B3单元格输入公式:=COUNT(SEARCH("182*6",A3:A10)),按“Ctrl+Shift+Enter”三键结束,结果却是3个。这是为啥呢??!因为,虽然"182*6"也表示“182”开头以“6”结尾,但不代表文本长度为11,所以图中的A6单元格的“18275698657”也被统计入结果了。

 

 

1.2提取数字


要求:提取出“信息列”右侧的连续数字。

 

 

方法:在G3单元格输入公式“=MIDB(F3,SEARCHB("?",F3),99),向下复制填充公式。


解读:SEARCHBMID函数的嵌套使用。

SEARCHB"?",文本)可以查找到文本中首个单字节字符的位置;

②再利用MID函数从首个单字节字符的位置开始,提取出后面的99个字符(即所有字符)。


小提示:输入公式“
=RIGHT(F3,2*LEN(F3)-LENB(F3))也可以得出一样的结果。


1.3提取数字(文字与数字混合排列)


要求:如图,A列是文字与连续数字混合排列的句子,现需要单独提取出句子中的数字到B列。

 

 

方法:在B15单元格输入公式“=MIDB(A15,SEARCHB("?",A15),2*LEN(A15)-LENB(A15))”,向下复制填充公式。

解读:三个函数组合的嵌套。

SEARCHB("?",A15)部分:查找出首个单字节字符的位置;

2*LEN(A15)-LENB(A15)部分:得出单字节字符的长度(关于LEN函数更详细的解释可以康康第一期的2.12.2~);

③最后利用MIDB函数,从首个单字节字符的位置起,提取出单字节字符长度的文本串字符。

 

二、MID


2.1提取身份证号码中的出生年月日


要求B列为身份证号码信息,要求提取出每个人的出生年月日并以“1988-07-18”的格式保存在C列。

 

 

方法:在C3单元格输入公式“=TEXT(MID(B3,7,8),"0-00-00"),向下复制填充公式。


解读MIDTEXT函数的嵌套使用。

①使用MID函数从身份证的第7位数起提取8个字符串;

②再借助TEXT函数将格式转换为"0-00-00"


2.2分列显示年、月、日


要求:E列的年月日按年、月、日的顺序分别提取放置到FGH列。

 

 

方法:同时选中F3:H3单元格区域,输入数组公式“=MID(E3,{1,5,7},{4,2,2})”,按“Ctrl+Shift+Enter”三键结束公式编辑,再将公式向下复制到F11:H11单元格区域。


解读MID函数的第二参数和第三参数都运用了常量数组形式,为提取年月日,应该根据数组组成特点,分别从E列数组中的第157位分别提取422个字符串,结果存放在F3:H3单元格中。

悄悄说一句:文本函数的参数用对了数组将会非常方便~~~


2.3将一串数字拆分成单个数字并求和


要求:将下列图表中的“数字串”的每个数拆分后求和,例如将“89652”拆分后求和等于“8+9+6+5+2=30”。

 

 

方法:在B16单元格输入公式“=SUM(--(0&MID(A16,ROW($1:$9),1))), 按“Ctrl+Shift+Enter”三键结束公式编辑,向下复制填充公式。


解读:以“89652”为例作分析。
MID(A16,ROW($1:$9),1)部分,利用MID函数把文本的前九个字符串分别提取出来,以内存数组的形式保存在公式中,结果如下:{"8";"9";"6";"5";"2";"";"";"";""}
0&MID(A16,ROW($1:$9),1)部分,虽然空文本""在有时候等价于数值0,但是并
等于数值0,为了避免下一步减负运算因为空文本而出现“#VALVE!”,所以前面用0连接上提取出的9个字符,结果如下:
{"08";"09";"06";"05";"02";"0";"0";"0";"0"};
--(0&MID(A16,ROW($1:$9),1))部分,将文本型数字转换为数值型数字,结果如下:
{8;9;6;5;2;0;0;0;0};
④最后用SUM函数对内存数组数值进行求和。


2.4用MID函数判断等级


要求:根据图中的评级规则对A列同学的成绩进行评级,评级结果依次展示在C列。

 

 

方法:在C25单元格输入公式“=MID($A$41,B25/10+1,1),向下复制填充公式。


解读MID函数和数学计算结合。

①辅助列中,上行的分数与下行的评级一一对应。例如0对差、10对差、20对差、30对差……90对优、100对优;

②第二参数,因MID函数会自动对小数参数作去尾处理,所以“/10”后不必再对商取整(即不必使用INT等取整函数);

B25/10+1作为在“差差差差差差中中良优优”(有11个汉字,不是10个)字符串中开始提取的位置。以C25单元格的88分为例,第二参数88/10去掉小数点后的数值结果为8,则在“差差差差差差中中良优优”的第8+1=9个字符起提取1个字符串,即“良”。

 

今日分享就到这啦,下次见!

说明: C:UserslenovoDocumentsTencent Files2550247458ImageC2CBD8E875E7A0151853665542D7283B159.jpg

 

本文配套的练习课件请加入QQ群:902294808下载。

Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!

扫下方二维码关注公众号,可随时随地学习Excel

说明: IMG_256

相关推荐:

Excel实用案例:SUBSTITUTE嵌套函数对文本单元格的判断和计算

Excel数字提取技巧:从包含文字的单元格中提取所有数字的万能公式

Excel数字提取技巧:从无规律文本中提取手机号的5种方法

Excel数字提取技巧:用简单公式从混合文本中提取数字的3种情景

版权申明:

本文作者小可;同时部落窝教育享有专有使用权。若需转载请联系部落窝教育。