excel提取字符前面 提取三个。

内容在B5HD-001SOBDLEDBUTTERFLYSEALIFEASTRDHQ#040778其中HD-001S这个长度不一定(OBD也不固定,但是开头都是OBD)HQ... 内容在B5
HD-001S
OBD LED BUTTERFLY SEA LIFE ASTRD
HQ#040778

其中HD-001S 这个长度不一定 (OBD 也不固定,但是开头都是OBD) HQ#是固定的
我需要 C5=HD-001S D5=OBD LED BUTTERFLY SEA LIFE ASTRD E5=040778

E5 我会其他两个不会 求大神帮忙
展开
 我来答
匿名用户
2017-06-29
展开全部
方法:1.假设列A是一组产品的编码,我们需要的数据是“-”之前的字段。2.需要在B1单元格输入公式“=LEFT(A1,SEARCH("-",A1)-1)”然后选中B1至B4单元格,按“CTRL+D”向下填充,就可以得出其它几行“-”之前的字段。3.如果要得出“-”之后的字段,则在C1单元格输入“=RIGHT(A1,LEN(A1)-SEARCH("-",A1))”,然后选中C1到C4,CTRL+D向下填充。4.公式解释:search(特定字符,字符串) 返回指定字符在字符串中第一次出现的位置。以A1为例“-”出现的位置是4.len(字符串) 返回字符串的长度。以A1为例,A1中字符串的长度为8left(字符串,N) 返回字符串从左边数起至第N个字符的字段。如LEFT(A1,3)则会返回“abc”right(字符串,N) 返回字符串从右边数起至第N个字符的字段。如RIGHT(A1,4)则会返回“1256”5.如果字符串是以“*”或“?”等通配符来隔开的,则公式要输入“=LEFT(A1,SEARCH("~*~",A1)-1)”/"=RIGHT(A1,LEN(A1)-SEARCH("~*~",A1))"分列的方法1.首先复制A列到B列,然后确认C列为空行,因为分列后会覆盖C列原有的值,所以必须确保C列为空。2.选中B列,点击“数据”—“分列”,选中“分隔符号”然后点击下一步3.在其它选项中输入“-”,然后点击下一步完成分列。
81821985
2017-06-29 · 知道合伙人软件行家
81821985
知道合伙人软件行家
采纳数:9470 获赞数:15118

向TA提问 私信TA
展开全部
c5输入:
=MID(B5,1,FIND("OBD",B5)-2)
其中 -2 是对应你的数据有 “硬回车”如果数据中没有该字符,就换成 -1
d5:
=MID(B5,FIND("OBD",B5),FIND("HQ#",B5)-FIND("OBD",B5)-1)
同理 -1 是对应你的数据有 “硬回车”,自己改。
其实你的数据完全可以放在1列,使用 数据==》分列==》分割符号==》在分割符号那里输入 “按住键盘 alt 不松 依次按下小键盘 1 0 ”两个后即可(此时符号处仍显示是空的)
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式