Pha*_*ach 4 excel excel-formula
那么如何获取从第n个位置到字符串末尾的子字符串呢?
在单元格 A1 处输入Name: Thomas B.
预期输出:Thomas B.
我知道一些方法可以做到这一点,但我想知道是否还有其他优雅的方法?(一些=RIGHT(A1, -6)....)
=MID(A1, 6, 999999) //999999看起来不太好
=MID(A1, 6, LEN(A1) - 5) //必须计算2次,先获取len,然后获取子字符串,似乎太多了?
正如多米尼克已经写过的那样:“为什么不将前六个字符替换为空字符串呢?”
Run Code Online (Sandbox Code Playgroud)=REPLACE(A1,1,6,"")
我已经进行了一些时间测量,但在 50000 条记录时差异不到一秒(对于LEFT, MID, REPLACE& SUSTITUTE)。所以恐怕优雅就是你所能得到的一切。
我创建这项研究是因为当您从第 n 个字符开始说时,您的n第 -th 字符是7(您的MID-s 是错误的),但您想删除前n-1( 6 ) 个字符。因此,根据您如何提出问题,您可能会在RIGHT或中采用不同的方法MID,并且您会记住REPLACE和SUBSTITUTE/或可能不会。
获取从第 N 个字符到末尾的字符串,例如 7
=RIGHT(A1,LEN(A1)-(B1-1))
=RIGHT(A1,LEN(A1)-B1+1)
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)=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)
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)=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))
Run Code Online (Sandbox Code Playgroud)
获取字符后的字符串,例如“”
=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))
Run Code Online (Sandbox Code Playgroud)
获取字符串后的字符串,例如“:”
=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))
Run Code Online (Sandbox Code Playgroud)
返回删除字符串的前 N 个字符,例如 6
Run Code Online (Sandbox Code Playgroud)=SUBSTITUTE(A1,LEFT(A1,6),"",1) =REPLACE(A1,1,6,"")