那么如何从第n个位置获取子字符串直到字符串的末尾?
在单元格 A1 Name: Thomas B.
处输入
预期输出:Thomas B.
我知道一些方法,但我想知道是否还有其他优雅的方法? (某种=RIGHT(A1, -6)
....)
=MID(A1, 6, 999999)
//999999看起来不太好=MID(A1, 6, LEN(A1) - 5)
//必须计算2次,先获取len,再获取子串,好像太多了? 最佳答案
代替
正如多米尼克已经写道:
“为什么不直接用空字符串替换前六个字符?”
=REPLACE(A1,1,6,"")
我已经进行了一些时间测量,但在 50000 条记录时差异不到一秒(对于
LEFT
、 MID
、 REPLACE
和 SUSTITUTE
)。所以恐怕优雅 这就是你将要得到的一切。一项小型研究
我创建这项研究是因为当您从第 n 个字符开始说时,您的
n
-th 字符是 7 (你的 MID
-s 是错误的),但你想删除第一个 n-1
( 6 ) 个字符。因此,根据您提出问题的方式,您可能在 RIGHT
中采用不同的方法。或 MID
,你会记得REPLACE
和 SUBSTITUTE
或者你可能不会。A1 (*) 和 B1 (#, ?, *) 的小型学习公式
获取从第 N 个字符到结尾的字符串,例如7
=RIGHT(A1,LEN(A1)-(B1-1))
=RIGHT(A1,LEN(A1)-B1+1)
=RIGHT(A1,LEN(A1)-6)
=MID(A1,B1,LEN(A1)-(B1-1))
=MID(A1,B1,LEN(A1)-B1+1)
=MID(A1,B1,LEN(A1))
=MID(A1,7,LEN(A1)-6)
=MID(A1,7,LEN(A1))
删除字符串的 N 个首字符,例如6
=RIGHT(A1,LEN(A1)-B1)
=RIGHT(A1,LEN(A1)-6)
=MID(A1,B1+1,LEN(A1)-B1)
=MID(A1,B1+1,LEN(A1))
=MID(A1,7,LEN(A1)-6)
=MID(A1,7,LEN(A1))
在字符后获取字符串,例如""
=RIGHT(A1,LEN(A1)-(FIND(B1,A1)))
=RIGHT(A1,LEN(A1)-(FIND(" ",A1)))
=MID(A1,FIND(B1,A1)+1,LEN(A1)-FIND(B1,A1))
=MID(A1,FIND(B1,A1)+1,LEN(A1))
=MID(A1,FIND(" ",A1)+1,LEN(A1)-FIND(" ",A1))
=MID(A1,FIND(" ",A1)+1,LEN(A1))
在字符串之后获取字符串,例如": "
=RIGHT(A1,LEN(A1)-(FIND(B1,A1)+LEN(B1))+1)
=RIGHT(A1,LEN(A1)-FIND(B1,A1)-LEN(B1)+1)
=RIGHT(A1,LEN(A1)-FIND(": ",A1)-LEN(": ")+1)
=MID(A1,FIND(B1,A1)+LEN(B1),LEN(A1)-(FIND(B1,A1)+LEN(B1))+1)
=MID(A1,FIND(B1,A1)+LEN(B1),LEN(A1)-FIND(B1,A1)-LEN(B1)+1)
=MID(A1,FIND(B1,A1)+LEN(B1),LEN(A1))
=MID(A1,FIND(": ",A1)+LEN(": "),LEN(A1)-FIND(": ",A1)-LEN(": ")+1)
=MID(A1,FIND(": ",A1)+LEN(": "),LEN(A1))
返回删除字符串的前 N 个字符,例如6
=SUBSTITUTE(A1,LEFT(A1,6),"",1) =REPLACE(A1,1,6,"")
关于Excel获取从第n个位置到字符串末尾的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54880997/