Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2260|回复: 7

[已解决]如何截取最后一段字符串

[复制链接]
发表于 2017-6-1 11:06 | 显示全部楼层 |阅读模式
一列数据格式如以下格式“XXX-XYXX-XYXX-XX-XXYY”,其中以“-”符号为分段的,段的数量不固定,如果单元格内的“-”数量超过3个,则需要把最后一段字符串提取出来,如示例中就要得到“XXYY”这个结果,求教大神有什么方法呢?
最佳答案
2017-6-1 11:29
本帖最后由 砂海 于 2017-6-1 11:44 编辑

A1
XXX-XYXX-XYXX-XX-XXYY

B1
=IF(LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))>3,MID(A1,LOOKUP(1,0/(MID(A1,ROW(1:99),1)="-"),ROW(1:99))+1,99))
=IF(LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))>3,MID(A1,LOOKUP(1,0/(MID(A1,ROW($1:$99),1)="-"),ROW($1:$99))+1,99))
发表于 2017-6-1 11:11 | 显示全部楼层
用数据---分列--分隔符号--勾选其他(用-这个符号),最后完成。
回复

使用道具 举报

 楼主| 发表于 2017-6-1 11:20 | 显示全部楼层
qqyyh 发表于 2017-6-1 11:11
用数据---分列--分隔符号--勾选其他(用-这个符号),最后完成。

我只要数量超过3的才需要,3个以后的不需要截取,如果用分列的话,很难得到我想到的结果
回复

使用道具 举报

发表于 2017-6-1 11:29 | 显示全部楼层
判断提取就是了吧
回复

使用道具 举报

发表于 2017-6-1 11:29 | 显示全部楼层    本楼为最佳答案   
本帖最后由 砂海 于 2017-6-1 11:44 编辑

A1
XXX-XYXX-XYXX-XX-XXYY

B1
=IF(LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))>3,MID(A1,LOOKUP(1,0/(MID(A1,ROW(1:99),1)="-"),ROW(1:99))+1,99))
=IF(LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))>3,MID(A1,LOOKUP(1,0/(MID(A1,ROW($1:$99),1)="-"),ROW($1:$99))+1,99))
回复

使用道具 举报

发表于 2017-6-1 11:31 | 显示全部楼层
传个附件做个示例很难吗,看题,这公式应该很简单的
回复

使用道具 举报

发表于 2017-6-1 11:32 | 显示全部楼层
=IF(ISNUMBER(FIND("@",SUBSTITUTE(A1,"-","@",3))),RIGHT(A1,4),"")
回复

使用道具 举报

 楼主| 发表于 2017-6-1 11:46 | 显示全部楼层
qqyyh 发表于 2017-6-1 11:32
=IF(ISNUMBER(FIND("@",SUBSTITUTE(A1,"-","@",3))),RIGHT(A1,4),"")

太好了,您这个是对的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-25 04:36 , Processed in 0.317818 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表