+ -
当前位置:首页 → 问答吧 → 提取字符串问题-高手赐教

提取字符串问题-高手赐教

时间:2011-08-09

来源:互联网

BC.W.WD.CBT-01
BC.W.WD.CCT-01
BCP.GZ.ZGZ.CBA-56L40
BCP.GZ.ZGZ.CCA-04P4
CP.CA.CI.AB0303D
CP.CA.CI.AB0402D
R-CP.SZYZ.CCC.CCC02A
R-CP.SZYZ.CCC.CCC04A
R-CP.SZYZ.CDC.CDC01A
比方以上这些,我只想要最后一个.后面的字符,请问用什么函数?请高手赐教!
例:R-CP.SZYZ.CDC.CDC01A只要CDC01A。

作者: zpcshine   发布时间: 2011-08-09

点的个数都相同吗?

如果都相同的话,可以试试这个
复制内容到剪贴板
代码:
=CLEAN(MID(SUBSTITUTE(A1,".",REPT(CHAR(1),100)),300,100))
其中CHAR(1)是非打印字符,和CLEAN配对


把原来的字段隔离符号用100个 CHAR(1) 来 加粗以方便字符的截取,然后用CLEAN清除多余的非打印字符

也可以把 CHAR(1)换成 空格,然后用TRIM来清除多余的空格,只是信息内部本身包含无意义的空格时就容易修改信息。

另外,用FIND,SUBSTITUTE来精确定位那个第三个点也是可以的。

[ 本帖最后由 胡剑0227 于 2011-8-9 17:28 编辑 ]

作者: 胡剑0227   发布时间: 2011-08-09

=MID(A1,FIND("@",SUBSTITUTE(A1,".","@",LEN(A1)-LEN(SUBSTITUTE(A1,".",))))+1,99)

作者: hopeson2010   发布时间: 2011-08-09

=MID(A1,FIND(".",A1)+1,LEN(A1))这个好像也行

作者: junsbi   发布时间: 2011-08-09

查找:*.
替换:(空)

作者: dsmch   发布时间: 2011-08-09

选中a列 数据 分列 分隔符输入“.”

作者: 祝洪忠   发布时间: 2011-08-09

=TRIM(RIGHT(SUBSTITUTE(A1,".",REPT(" ",100)),30))

作者: dg831451   发布时间: 2011-08-09

复制内容到剪贴板
代码:
=MID(VLOOKUP(".*",RIGHT(A1,ROW($1:$20)),1,),2,99)

作者: 一剑惊心   发布时间: 2011-08-09

引用:
原帖由 dsmch 于 2011-8-9 17:31 发表
查找:*.
替换:(空)
够简单,给力!

作者: chen_pinghui   发布时间: 2011-08-09

引用:
原帖由 一剑惊心 于 2011-8-9 17:42 发表
=MID(VLOOKUP(".*",RIGHT(A1,ROW($1:$20)),1,),2,99)
请教一剑大师,公式中ROW($1:$20)的$20可以修改成$8或更大数值,但修改成小于8则出错。
个中原理可以指教一下吗?谢谢。

作者: chen_pinghui   发布时间: 2011-08-09

=TRIM(RIGHT(SUBSTITUTE(A1,".",REPT(" ",99)),99))

作者: w83365040371   发布时间: 2011-08-09

替换肯定不行,我是要后面的那串字符,谢谢!

作者: zpcshine   发布时间: 2011-08-10

高手,非常感谢,解决了问题!

作者: zpcshine   发布时间: 2011-08-10

引用:
原帖由 zpcshine 于 2011-8-10 16:23 发表
替换肯定不行,我是要后面的那串字符,谢谢!
自己看动画吧
1.gif (83.74 KB)
2011-8-10 16:28

作者: dsmch   发布时间: 2011-08-10

高手,不错的方法,也能解决问题,非常感谢!

作者: zpcshine   发布时间: 2011-08-10

聪明啊,简单易用,试了,行,谢谢!很多个解!

作者: zpcshine   发布时间: 2011-08-10

真是高手,学习了

作者: TFQWFN   发布时间: 2011-08-11

總是編輯不出總體下拉式的函數,單一的還行,與高手差太遠了!
=RIGHT(I13,LEN(I13)-FIND(".",I13,6))----第一個數

作者: beckham175   发布时间: 2011-08-11

数组公式

=MID(A1,MAX(IFERROR(FIND(".",A1,ROW($1:$99)),))+1,99)

=MID(A1,MAX((MID(A1,ROW($1:$99),1)=".")*ROW($1:$99))+1,99)

=MID(A1,COUNT(FIND(".",MID(A1,ROW($1:$99),99)))+1,99)

[ 本帖最后由 snowpeak 于 2011-8-11 13:51 编辑 ]

作者: snowpeak   发布时间: 2011-08-11

复制内容到剪贴板
代码:
=REPLACE(A1,1,MATCH(1,0/(MID(A1,ROW($1:$99),1)=".")),)
数组。

作者: laowuwyx   发布时间: 2011-08-11