EXCEL用函数提取不同字符串长度的特定数据?

A1单元格:2016327A0070-5-04-001;A2单元格:

DAG-04-23-ZHC-09-003。

由于上述文本字符串长度不一致,A1单元格为21个字符,A2单元格为20个字符,但我只想在B1单元格提取-001之前的04字符,在B2单元格提取-003之前的09字符,请问用什么函数可以解决?

直接输入公式“=left(right(a1,6),2)”

关于此公式中用到的“Left”和“right”两个文本函数的相关知识——
LEFT:用来对原始数据进行截取。截取的方式是从第一个字符开始,截取用
户指定长度的内容。
例如:在一个工作表中,某一列的资料是地址,录有省、市、街道等。
如果想插多一列,加入省份的资料,以便进行省份筛选,则可用该函数自动进
行截取,而无需人工输入。
使用语法:
LEFT(text,num_chars)

Text :是包含要提取字符的文本字符串,可以直接输入含有目标文字的单元格名称。
Num_chars :指定要由 LEFT 所提取的字符数,Num_chars 必须大于或等于0。如果
num_chars 大于文本长度,则 LEFT 返回所有文本。如果省略 num_chars,则假定其为1。

RIGHT:截取的方式是从最后一个字符开始,从后往前截取用户指定长度的内
容。
使用语法:
RIGHT(text,num_chars)
Text :是包含要提取字符的文本字符串,可以直接输入含有目标文字的单元格名称。
Num_chars :指定希望 RIGHT 提取的字符数。
注意:Num_chars 必须大于或等于 0。如果 num_chars 大于文本长度,则 RIGHT 返回所有文本。如果忽略 num_chars,则假定其为 1。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-30
如果你需要提取的是最后“-xxx”格式的前2位数据,则用下面的公式:
设原数据在b列,在c2输入:
=left(right(b2,6),2)
然后下拉填充即可。
第2个回答  2013-07-30
既然后面的位数是固定的,建议使用分列的方法处理。
方法:将数据列刷黑——数据——分列——下一步——固定列宽——下一步——点击分列位置——确定
第3个回答  2013-07-30
=RIGHT(LEFT(A1,LEN(A1)-4),2)
下拉即可
第4个回答  2013-07-30
B1输入
=mid(A1,len(A1)-5,2)
下拉公式
相似回答