我试图在单元格中找到最后一个单词但是,似乎没有出现获取单元格的最后一个单词。它似乎得到部分匹配并且无法正常工作。我正在使用=IFERROR(RIGHT(AP2,SEARCH(" ",AP2)-1),AP2)
。这对于获取单元格中的第一个单词非常有用,即使第一个单词是单元格中唯一的单词也是如此。关于为什么没有正确使用最后一个字的任何想法?
答案 0 :(得分:1)
您可以尝试使用此UDF,它也可以在另一个子例程或工作表中使用。
Function GetLastWord(ByVal Str As String) As String
Dim arrStr
arrStr = Split(Str, " ")
GetLastWord = arrStr(UBound(arrStr))
End Function
如果你需要在工作表上使用它,假设你的字符串在A1中,那么试试这个......
=GetLastWord(A1)
答案 1 :(得分:1)
您的公式基于字符串中第一次出现的空格。
例如使用" Man City V Stoke"在公式SEARCH("",AP11)中寻找第一次出现在第4位的空格。然后从中减去1并将其作为要从中返回的字符数。右边的原始字符串。所以你得到了正确的(" Man City V Stoke",3),这是" oke"。
更好的方法是公式,例如
= TRIM(右(替换(AP11,"",REPT("",LEN(AP11))),LEN(AP11)))find text after last space
写的部分: = SUBSTITUTE(AP1,"",REPT("",LEN(AP1)))
这将空格插入字符串(16)的长度,代替每次出现的空格,即
Man City V Stoke
当你做正确的时候(SUBSTITUTE(AP11,"",REPT("",LEN(AP11))),LEN(AP11)) 保证只能获得空格,后跟最后一个单词。然后使用TRIM摆脱这个空白区域。
答案 2 :(得分:0)
据我所知,下面对我有用。
=TRIM(RIGHT(SUBSTITUTE(AP40," ",REPT(" ",100)),100))
我只能假设我的另一种方法在获得最后一个字时是不可靠的。