如何使用Excel公式获取单元格中的最后一个单词

我试图在单元格中得到最后一个单词,但是似乎并没有出现单元格的最后一个单词。 它似乎得到部分匹配,不能正常工作。 我正在使用=IFERROR(RIGHT(AP2,SEARCH(" ",AP2)-1),AP2) 。 这对于获取单元格中的第一个单词很有用,即使第一个单词是单元格中的唯一单词也是如此。 任何想法,为什么这不是正确地得到最后的话? 在这里输入图像说明

你可以尝试这个UDF,它可以在另一个子程序或工作表中使用。

 Function GetLastWord(ByVal Str As String) As String Dim arrStr arrStr = Split(Str, " ") GetLastWord = arrStr(UBound(arrStr)) End Function 

如果你需要在工作表上使用它,假设你的string是A1,那么试试这个…

 =GetLastWord(A1) 

您的公式基于string中首次出现空格。

例如,在公式SEARCH(“”,AP11)中的“Man City V Stoke”正在寻找第一个出现在第四个位置的空间。然后,从中减去1,并将其用作字符数从原始string的右侧返回。 所以你得到正确的(“曼城V斯托克”,3)这是“oke”。

一个更好的方法是一个公式如

= TRIM(RIGHT(SUBSTITUTE(AP11,“”,REPT(“”,LEN(AP11))),LEN(AP11))) 在最后一个空格之后find文本

写的部分:= SUBSTITUTE(AP1,“”,REPT(“”,LEN(AP1)))

这插入空格的string(16)的长度,而不是每一个空格,即

 Man City V Stoke 

当你做了正确的(替代(AP11,“”,REPT(“”,LEN(AP11))),LEN(AP11)),你只能得到空白,最后一个单词。 然后使用TRIM来摆脱这个空白区域。

据我可以告诉下面为我工作。

 =TRIM(RIGHT(SUBSTITUTE(AP40," ",REPT(" ",100)),100)) 

我只能假设我的另一种方法是不可靠的。