提取括号里的内容?分离文字数字?分离省市区?一个MID函数3秒搞定!
先来看MID函数的基本用法:
函数定义: 返回文本字符串中从指定位置开始的特定数目的字符
使用格式:MID(text, start_num, num_chars)
参数定义:
Text:必需,包含要提取字符的文本字符串。
Start_num:必需,文本中要提取的第一个字符的位置,文本中第一个字符的 start_num 为 1,依此类推。
Num_chars :必需,指定希望 MID 从文本中返回字符的个数。
说明:
如果 start_num 大于文本长度,则 MID 返回空文本 ("""")
如果 start_num 小于文本长度,但 start_num 加上 num_chars 超过了文本的长度,则 MID 只返回至多直到文本末尾的字符
如果 start_num 小于 1,则 MID 返回错误值 #VALUE!
如果 num_chars 是负数,则 MID 返回错误值 #VALUE!
光说不练假把式,来看几个例子进一步理解:
例1:基本功能演示
ABC
1Excel精选技巧EMID(A1,1,1)
2Excel精选技巧ExMID(A2,1,2)
3Excel精选技巧xMID(A3,2,1)
C1公式功能为提取A1单元格的第1个位置开始的1个字符,得到结果E
C2公式功能为提取A2单元格的第1个位置开始的2个字符,得到结果Ex
C3公式功能为提取A1单元格的第2个位置开始的1个字符,得到结果x
例2:根据省份证号获取生日
AB
13607241990121222341990年12月12日
B1中的公式为:TEXT(MID(A1,7,8),"0000年00月00日")
其中,MID(A1,7,8)是提取A1单元格中的第7个位置开始8个字符,结果为19901212
再用TEXT 函数将其格式化为xxxx年xx月xx日
例3:文本拆分
ABCDEF
1EXCELEXCEL
在B1单元格中输入公式:MID($A$1,COLUMN(A:A),1),再往右拖拽即可
其中,COLUMN(A:A)往右拖拽得到1、2、3、4、5,结合MID函数,巧妙将文本拆分开来
例4:提取括号内容
富士康精密电子(廊坊)有限公司廊坊
富士康精密电子(深圳)有限公司深圳
尚品宅配(广州)家居股份有限公司广州
公式为:MID(A1,FIND("(",A1)+1,FIND(")",A1)-FIND("(",A1)-1)
其中:FIND函数分别找出左右括号的位置,两个位置相减得到括号内文本的长度,即可用MID提取出左括号开始的N个字符
例5:分离省市区
广东省河源市龙川县广东省河源市龙川县
江西省赣州市上犹县江西省赣州市上犹县
公式为:
分离省:MID(A1,1,FIND("省",A1))
分离市:MID(A1,FIND("省",A1)+1,FIND("市",A1)-FIND("省",A1))
分离县:MID(A1,FIND("市",A1)+1,FIND("县",A1)-FIND("市",A1))
这3个公式以及例4所示的括号内容提取均是一脉相承,可用下列公式统一:
mid(String,find("首标识",String)+1,find(尾标识)-find(首标识))
用于提取两个标识符内的N个字符
例6:分离快递公司与快递单号
圆通12132342324241213234232424
申通1242435545466646412424355454666464
邮政EMS2542352523525325225423525235253252
公式为:MID(A1,MIN(IFERROR(FIND({0,1,2,3,4,5,6,7,8,9},A22),999)),LEN(A1))
并且用Ctrl+Shift+Enter输入
其工作原理是:找出所有数字的位置→取最小数字位置为起始点→提取右侧数字
例7:提取文本中的连续数字
我的工号是7758258,来撩吧13988888888
公式为:
MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A28&1234567890)),2*LEN(A1)-LENB(A1))
其原理是:String&“1234567890”得到:
我的工号是7758258,来撩吧1234567890
然后再分别查找0~9所在的位置,取最小值即得到最左边数字的位置
2*LEN(A1)-LENB(A1)得到连续数字的长度
以最左边数字位置为起始点,连续数字长度为字符长度,即可提取连续数字
关注技巧菌公众号和我一起学习EXCEL吧,有任何疑问,请留言和技巧菌一起探讨吧,若给您带来帮助记得收藏点赞转发哦!