通常情况下,我只需使用excel中的RIGHT
函数通过查找/
等特定字符并输出我想要的字符串来拆分它。
但是,我发现从THISSTRING.txt
中提取d/aaa/THISSTRING.txt
时遇到问题。只有/
的一个实例,我只会使用=RIGHT(B17,LEN(B17) - FIND("/",B17))
答案 0 :(得分:2)
这是获得最右边的一种方法:
=TRIM(RIGHT(SUBSTITUTE(A1,"/",REPT(" ",99)),99))
答案 1 :(得分:1)
目标:在最后一次出现在目标字符串中多次出现的字符后,从目标字符串返回最右边的子字符串。
这个公式:
=TRIM(RIGHT(SUBSTITUTE(A1,"/",REPT(" ",99)),99))
在以下条件下提供正确的结果:
示例:要检索长度为123
个字符且包含以下字符的子字符串 1 ABC XXX 123 XYZ
。
Point 1 可以通过使用字符串的长度而不是固定的数字来轻松解决:
=TRIM(RIGHT(SUBSTITUTE(A1,"/",REPT(" ",LEN(A1))), LEN(A1)))
然而第2点无法用所提到的公式克服。
建议的解决方案:无论上述条件如何,以下公式都会返回正确的结果:
=RIGHT(A1, LEN(A1) - FIND( CHAR(12),
SUBSTITUTE(A1, "/", CHAR(12), LEN(A1) - LEN( SUBSTITUTE(A1, "/", "" )))))
注意:我使用了不可打印的字符12,这在excel中很难找到,根据需要进行更改。
答案 2 :(得分:0)
这是另一种方式......
=REPLACE(B17,1,LOOKUP(2^15,FIND("/",B17,ROW(INDIRECT("1:"&LEN(B17))))),"")
FIND
生成一个值数组,指示" /"的第一个位置。在B17
中,但起点每次递增1,这意味着该数组中的最后一个数值是最后一个" /"的位置。
LOOKUP
从数组中提取该值,我们可以在REPLACE
函数中使用它来替换所有字符,然后在该位置替换所有字符,只留下最后一个字符后面的所有字符&#34 ; /"
如果没有" /"您将收到错误消息在B17