本文目录一览:
- 1、精心整理Excel从文本中提取指定字符的4种案例!
- 2、excel如何提取字符?
- 3、excel如何提取一个字符串中的一段字符?
- 4、EXCEL单元格如何提取想要的字符串?
- 5、excel如何提取含有指定字符的字符串?
- 6、Excel表格中怎样提取字符串中的特定字符
精心整理Excel从文本中提取指定字符的4种案例!
「如何从Excel单元格中的文本值提取指定的数据出来?」
就比如做电商的同学可能经常遇到收货地址需要拆分成省市区的问题。
但是用户提交的地址信息不一定规范,就导致拆分的时候需要人工一个一个识别。
本期内容,以溪带你看看工作中常见的文本拆分与提取的案例问题。
如果有你现在正在遇到的问题,可以直接套用。
「案例列表」
Excel中有专门的文本提取函数,其中mid、left、right分别用于从中间、左侧、右侧提取文本中的指定长度内容。
依次举例说明:
函数参数:
MID(text,start_num,num_chars)
第一个参数是待提取的文本字符串,第二个是开始提取的字符位置数,第三个参数是从文本中提取的字符数
函数参数:
LEFT(text, [num_chars])
第一个参数是待提取的文本字符串,第二个参数不填默认为1,代表提取的字符数。
函数参数:
RIGHT(text, [num_chars])
第一个参数是待提取的文本字符串,第二个参数不填默认为1,代表提取的字符数。
可以注意到,这三个参数,都有几个共同点。
理解了上面这个问题,那解决实际案例的所有 「关键点」 就在2、3两点上了。
如果地址数据的省市区之间有分隔符的,可以直接使用 「数据-分列-按指定字符分列」 即可完成拆分。
如果是像下图这种没有分隔符的地址,有两种方法可以实现拆分。
通过上面的3个函数,我们知道,想要拆分提取字符,必须要知道从哪提取,提取多少。
所以,第一步,我们需要知道在地址中,省这个字符的具体位置,以及省字符前面有多少字,就能直接提取出省这个字符串了。
在这里引入两个函数,一个是find,一个是len。
除了查找和统计字符数,Excel也提供findb与lenb函数,函数核心功能与find和len都一样。
唯一的区别就是,带b的函数,代表查找或计数的是字节数,反之是字符数。
其中日语、中文(简体)、中文(繁体)以及朝鲜语一个字符算2个字节数。参考下图理解,find和findb用于查找 同学 位于 以溪123同学 中的位置。
回到拆分地址上,那第一个,就是查找省这个字位于地址中的位置。
如此得到省的位置后,我们便可以通过left函数,直接提取出省名称。
前面的是不是都很成功,但是最后一个自治区,就识别不出来了。
主要是我国的行政区划分,不是所有的省级行政区都是省结尾的,还包括有市、区。
所以这里,我们需要通过数组公式,来一次性提取出省、市、区这三个字在地址中的位置。
数组公式如下:
「注意数组公式,需要按照数组公式输入方法使用」
目前只是把地址中省市区出现的位置找到了,还需要对数字进行对比,最小的那个,代表最先出现,也就是省级行政单位的位置。
所以我们使用min函数对其嵌套,得到最小位置数,再使用left函数提取,就能正确获得一级行政区名称。
但是由于min函数不能统计包含 #VALUE! 的错误值数据,所以我们在find公式中的地址参数那里,手动拼接一个省市区字符串,使其不管怎么样,都不会返回错误值。确保min函数正确运行。
数组公式如下:
至此第一个省级名称,提取完毕。
如果将原地址中的省级名称去除,那么剩下的地址中,就只包含地级和县级行政区地址信息。
使用substitute函数,就可以替换字符串中的指定字符为空,也就是替换为 "" 。
函数公式如下:
我们借用了刚刚提取的省级名称,生成了新的地址,基于这个地址我们采用同样的方法提取地级行政区名称。
只需要把省级行政区的公式中的地址A2全部替换成上面的subtitute函数公式,再把对应的地级行政区的后缀, 市、区、州、盟 ,全部修改,就可以了。
最终的数组公式如下:
最后一个直接使用substitute函数替换即可。
数组公式如下:
如果你不想用上面这么长的公式,又或者地址信息没有这么完整,存在不清晰的问题!!
「那就使用方方格子插件来完成地址提取,速度飞快。」
操作路径:方方格子-高级文本处理更多-提取地址-选择地址范围-确定-点击结果存放单元格-确认
最终结果如下图,几秒钟就搞定了。
即使地址不是特别规范,也能大概匹配拆分出来。
当然,最终还需要仔细检查一下是否存在拆分出错的情况。
如下图数据所示:
文本中用 - 分隔各个信息,其中第二个是产品名称,最后一个是核销状态。
如果是比较规范的数据,就可以先手动提取一行,如下图:
然后按快捷键CTRL+E,智能拆分提取,就能提取出对应的数据。
但是,这个案例,CTRL+E没法很好的拆分出来,比如产品名称,此时可以选择使用函数公式,将产品名称和核销状态提取出来。
提取产品名称:
提取最后一个核销状态:
如下图所示,字母和数字在文本中的不同位置,现在想要将字母和数字全部提取。
从文本中提取字母和数字的公式如下:
如果只想提取字母或者数字,则使用下面的公式:
只提取大小写字母的数组公式,请使用数组三键CTRL+SHIFT+回车确认公式:
如果只提取数字,则数组公式如下:
如果用数组公式觉得太麻烦,也可以使用Excel插件来提取字符,如果你会编写正则表达式,那无论是多奇怪的字符,都可以通过插件运行正则表达式提取指定的字符出来。
插件提取方法路径如下:
方方格子-高级文本处理-更多
同时在提取更多里面,还支持提取链接以及之前说的拆分地址。
在高级提取功能里,支持额外4种提取需求,如图所示。
以上,就是以溪总结的文本字符串提取的相关案例,如果你有实际需求没有在以上案例,可以留言讨论。
excel如何提取字符?
excel可以使用MID函数提取字符串。
1.打开excel电子表格,然后点击要显示提取字符串的单元格,然后点击“fx”,或者点击“公式”选项卡,再点击“插入函数”。
2.点击“或选择类别”右边的列表,然后点击“全部”,之后随便点击一个函数再在输入法处于英文状态是快速按MID前面两个字母即可找到MID函数,接着点击“确定”。
3.将光标定位在“Text"右边的输入框中,然后点击要提取字符串的单元格,之后再点击”Start num"右边的输入框,之后输入从单元格中的第几个字符开始提取,接着点击“Num chars"右边的输入框再输入要提取多少位字符,最后点击确定。
4.点击公式输入框,然后在“MID(C2,7,4)”后面输入 "年" ,是指2000年。之后将整个函数公式复制再粘贴到函数公式的后面,之后再更改下提取字符的位置,再点击“fx”左边的勾,或者按回车键即可,接下来再双击单元格右下角即可填充其他的单元格(是连接符号,是将前后的公式相连接的符号)。
excel如何提取一个字符串中的一段字符?
excel利用常用的两个函数提取字符串中的特定字符串,一起看看吧
在表格处理中,有时会需要从字符串中提取特定的字符串,我们利用常用的两个函数:LEFT()和find(),就能轻松完成,下面我们一起操作演示一下吧。
打开表格
将地址这一列中的字符串,提取出'区'之前的内容放入另一列中。
left(字符串,数值)这个函数,是从字符串左侧截取字符,数值表示截取的个数。left(字符串,5)表示:从字符串左侧截取5个字符。
find(“字符”,字符串,1):表示在字符串中查找"字符",第一次出现的位置,得出的结果是第几位。
find("区","东城区北二道街8号",1)得出的结果就是3。
如果是find("区","哈尔滨东城区北二道街8号",1)结果就是6。
下面我们组合公式:=LEFT(E4,FIND("区",E4,1)),表示:对E4单元格中的字符串从左侧提取FIND("区",E4,1)个字符。
提取的字符串填充在新列中。用鼠标左键拖动右下角小黑块下拉填充。
"区"之前的字符串被提取出来显示
现在我们提取复杂的字符串,从中间位置提取,我们用到mid(字符串,数值1,数值2),这个函数的意思是:从字符串第几位(数值1表示),提取几个(数值2)字符。
我们写组合公式:=MID(B4,FIND("(",B4,1)+1,FIND(")",B4,1)-(FIND("(",B4,1)+1)),(公式的含义是:从B4单元格字符串中的第几位(FIND("(",B4,1)+1),取多少位(FIND(")",B4,1)-(FIND("(",B4,1)+1)))。
公式运算结果正是我们要提取的数值。按住鼠标左键拖动,填充序列。
编号中的数值被全部提取出来。
EXCEL单元格如何提取想要的字符串?
首先你要确定想取的二串数字都是6位数的,如果不是6位数,方法不一样。
下面以二串数字固定为6位数做的公式:
假设字符串在A1,取出的二个数字放在B1和C1。
B1公式如下,输完后按CTRL+SHIFT+ENTER生成数组公式,再右拖复制到C1即可。
B1公式:=--MID($A1,SMALL(IFERROR(IF(--MID(SUBSTITUTE($A1," ","a"),ROW(1:99),6),ROW(1:99),),""),COLUMN(A1)),6)
excel如何提取含有指定字符的字符串?
在Excel中可以利用mid函数提取单元格里面特定的字符串。
软件版本:Office2007
方法如下:
1.从A列单元格中的第二位开始,提取2位字符:
2.输入公式如下:
3.下拉填充得到结果如下:
Excel表格中怎样提取字符串中的特定字符
Excel 表格中怎样提取字符串中的特定字符。除了直接输入外,从已存在的单元格内容中提取特定字符输入,绝对是一种省时又省事的 方法 ,特别是对一些样式雷同的信息更是如此,比如员工名单、籍贯等信息。
如果我们想快速从A4单元格中提取称谓的话,最好使用“=RIGHT(源数据格,提取的字符数)”函数,它表示“从A4单元格最右侧的字符开始提取2个字符”输入到此位置。当然,如果你想提取姓名的话,则要使用“=LEFT(源数据格,提取的字符数)”函数了。还有一种情况,我们不从左右两端开始,而是直接从数据中间提取几个字符。比如我们要想从A5单元格中提取“武汉”两个字时,就只须在目标单元格中输入“=MID(A5,4,2)”就可以了。意思是:在A5单元格中提取第4个字符后的两个字符,也就是第4和第5两个字。