如何使用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))
我只能假设我的另一种方法是不可靠的。