在Excel中剪切string

我在Excel中有一个string,例如“Ariel Block SC-01-06”,但我只想要“SC-01-06”。 我应该使用哪种配方?

例如,名字就像'FSC Block SC-02-07',我只想要名字中最后一个空格的最后一部分。

我想出的唯一的公式是这个,

=RIGHT(A1,FIND(" ",A1)) 

…但似乎没有工作。

将最后一个空格(实际上是所有空格)展开为原始整个string的宽度,然后裁剪右端并修剪它以接收最后一个空格分隔的“元素”。

 =trim(right(substitute(a1, " ", rept(" ", len(a1))), len(a1))) 

本地工作表REPTfunction是VBA 空间function的等价物。

这取决于你想用什么作为你的分隔符或模式来决定放弃哪一部分的string,但是现在我将假定string中的最后一个空格标记了你想要保留的string的开始 。 如果是这样的话,那么你可以使用反向stringsearch(参见: http : //www.exceltactics.com/reverse-string-search-excel-using-find/4/ )。 例如:

 =IF(ISERROR(FIND(" ",A1)),A1,RIGHT(A1,LEN(A1)-FIND("~",SUBSTITUTE(A1," ","~",LEN(A1)-LEN(SUBSTITUTE(A1," ","")))))) 

有关如何工作的更多解释,请参阅原始文章的开头部分: http : //www.exceltactics.com/reverse-string-search-excel-using-find/

如果你有其他的方法来检测你想要的string是从哪里开始的,那么你可以把它当作一个数字(例如,字符索引号13以后),你可以使用=MID(A1, (your_function_here), LEN(A1))