在excel中使用文本中的第二个“-”之后提取文本

5kgi1eie  于 2023-05-08  发布在  其他
关注(0)|答案(5)|浏览(482)

我想提取字符串中第二个“-”之后的文本
举个例子
原文|后萃取
8L47-C822O26-KMIX|-KMIX
9L47-C822M26-BFX|-BFX
6L47-C822N27-GLKX|-GLKX
使用下面列出的功能,仅左,右,中,镜头,查找,搜索和修剪

raogr8fs

raogr8fs1#

第二次出现破折号后(含)

=RIGHT(A2,LEN(A2)-FIND("-",A2,FIND("-",A2)+1)+1)

为了防止#VALUE!当没有足够的破折号,你可以使用IFERROR...

=IFERROR(RIGHT(A2,LEN(A2)-FIND("-",A2,FIND("-",A2)+1)+1),"")

...或者对于更旧版本的Excel,您可以使用...

=IF(ISERROR(FIND("-",A3,FIND("-",A3)+1)),"",RIGHT(A3,LEN(A3)-FIND("-",A3,FIND("-",A3)+1)+1))

...揭示了表达式FIND("-",A3,FIND("-",A3)+1)的重要性,第二次出现的位置。

o75abkj4

o75abkj42#

如果你是在***Microosft-365***然后可以尝试-

=TAKE(TEXTSPLIT(A2,"-"),,-1)

对于Excel-2013和更高版本,请使用FILTERXML()

=FILTERXML("<t><s>" &SUBSTITUTE(A2,"-","</s><s>") & "</s></t>","//s[last()]")

对于所有版本-

=TRIM(RIGHT(SUBSTITUTE(A2,"-",REPT(" ",100)),100))

zfycwa2u

zfycwa2u3#

这些是真正的老派电子表格方法:

搜索、镜头、右镜头、修剪

=TRIM(RIGHT(A2,(LEN(A2))-(SEARCH("-",A2,(SEARCH("-",A2))+1))+1))

查找、镜头、中间、修剪

=TRIM(MID(A2,FIND("-",A2,FIND("-",A2)+1),(LEN(A2))-(FIND("-",A2,FIND("-",A2)+1))+1))

样本

a14dhokn

a14dhokn4#

像这样使用find():

=find("-",A1,find("-",A1,1)+1)

内部查找将返回第一个“-”的位置,而加1使外部查找查找第二个。
然后在MID()中使用该结果,如下所示:

=mid(A1,find("-",A1,find("-",A1,1)+1)+1,100)

这将在第二个“-”之后返回100个字符。
幸运的是,mid()和find()是与版本无关的,它们在你列出的函数列表中。

6kkfgxo0

6kkfgxo05#

=MID(A2,FIND("-",A2,FIND("-",A2)+1),LEN(A2)-FIND("-",A2,FIND("-",A2)+1)+1)

相关问题