excel如何提取一个字符串中的一段字符?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel如何提取一个字符串中的一段字符?相关的知识,希望对你有一定的参考价值。
1202-1"-SW-00106-1S2M-WT50
1202-1"-SW-00106-1S2M-WT50
1202-1-1/2"-C5L-00505A-1C1M-N0
1202-1-1/2"-C5L-00505B-1C1M-N0
1202-1-1/2"-EEG-00106A-3D1-R60
1202-1-1/2"-EEG-00106A-3D1-R60
如上式里面 我想提取出1 、1、1-1/2、1-1/2、1-1/2 ,即1202- 和 " 中间的内容 如何编写语言 求大神解答
在表格处理中,有时会需要从字符串中提取特定的字符串,我们利用常用的两个函数: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)))。
公式运算结果正是我们要提取的数值。按住鼠标左键拖动,填充序列。
编号中的数值被全部提取出来。 参考技术A
=LEFT(SUBSTITUTE(A1,"""","*"),FIND("*",SUBSTITUTE(A1,"""","*"))-1)
参考技术B可以使用MID函数提取一个字符串中的一段字符。
MID 用来返回文本字符串中从指定位置开始的特定数目的字符,该数目由用户指定。
函数 MID 始终将每个字符(不管是单字节还是双字节)按 1 计数。
语法:
MID(text, start_num, num_chars)
参数:
MID函数语法具有下列参数:
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!。
如果 num_bytes 是负数,则 MIDB 返回错误值 #VALUE!。
示例:
数据 "Fluid Flow " 假设在A1单元格。
=MID(A2,1,5) 上面字符串中的 5 个字符,从第一个字符开始 (Fluid) 。
=MID(A2,7,20) 上面字符串中的 20 个字符,从第七个字符开始 (Flow) 。
=MID(A2,20,5) 因为要提取的第一个字符的位置大于字符串的长度,所以返回空文本 ()。
参考技术C 用分列的方法可以很快弄好全选该列
菜单栏上 数据--分列--固定分列--在“1202- “的右边点击一下鼠标右键自动出现一个箭头标记--完成
对分列后的结果再做一次分列
数据--分列--分隔符号--其他--在右边空框输入一个引号--下一步--”列数据格式“点选”文本“--完成 参考技术D 用分列的方法可以很快弄好
全选该列
菜单栏上 数据--分列--固定分列--在“1202- “的右边点击一下鼠标右键自动出现一个箭头标记--完成
对分列后的结果再做一次分列
数据--分列--分隔符号--其他--在右边空框输入一个引号--下一步--”列数据格式“点选”文本“--完成
如何将excel电子表格中带有多个连字符“-”的中的某一数字用公式提取出来,数据量比较大,一个一个的输入很
如何将excel电子表格中带有多个连字符“-”的中的某一数字用公式提取出来,数据量比较大,一个一个的输入很麻烦,请教各位高手了,谢谢!如下
A1单元格:10-2A-1167-13EONAD-SIN
A2单元格:3-7-1168-1EONAD-OUT
。。。。。。
An单元格
现在我要提取中间的数字1167、1168.。。。。。到B1、B2.。。。。。。Bn单元格
输入以下公式,然后向下填充公式
=--TRIM(MID(SUBSTITUTE(A1,"-",REPT(" ",100)),200,100))
详见附图示例
参考技术A 格式相同就容易解决,而且都是提取4位数在B1中输入公式,然后下拉填充
=MID(A1,FIND("@",SUBSTITUTE(A1,"-","@",2))+1,4)
如果提取的位数不确定,可以用下面有公式
=MID(A1,FIND("@",SUBSTITUTE(A1,"-","@",2))+1,FIND("@",SUBSTITUTE(A1,"-","@",3))-FIND("@",SUBSTITUTE(A1,"-","@",2))-1)追问
前面的连字符个数是一样多的,但提取的位数可能不同,提取值的前面连字符之间的数字个数也不同
追答那你使用下面的这个公式就OK了
参考技术B 将A列数据复制到末尾列,对复制的列采用“-”进行分裂,然后讲你需要的数据复制到B列,删除辅助列内容 MEIFEGHDPIG 的回答非常专业,我提供一个业余的方法本回答被提问者采纳 参考技术C 试了一下,MEIFEGHDPIG的方法能实现 参考技术D ……以上是关于excel如何提取一个字符串中的一段字符?的主要内容,如果未能解决你的问题,请参考以下文章