我有一张包含文本值的 Excel 工作表,例如 A1 中的“这是文本”。我需要找到最后一个空格字符的位置。是否有一个 Excel 公式可以给出我想要的结果?我尝试过查找和搜索,但是它们从左侧开始,我需要的是从右侧开始。
答案1
如果空白值指的是“空格”,XLS 指的是 Excel,那么您可以使用以下公式(假设您要查找最后一个空格的测试在A1
):
=FIND("☃",SUBSTITUTE(A1," ","☃",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))
你可以将其分为 3 个部分:
LEN(A1)-LEN(SUBSTITUTE(A1," ",""))
给出空格的数量,我们称之为x
,SUBSTITUTE(A1," ","☃",[x])
x
将用雪人替换第 th 个空间(即最后一个空间),FIND("☃",[...])
会给出雪人的位置。也就是最后一个空格的位置。
答案2
这是另一种方法,A1 中允许使用任何字符(甚至是雪人!)
=LOOKUP(2^15,FIND(" ",A1,ROW(INDIRECT("1:"&LEN(A1)))))
FIND
有第三个参数来定义搜索的起始位置,如果将一个整数值 1 到 n(其中 n 是 A1 的长度)的数组应用于该参数,则会得到一个数组,其中最后一个数字是最后一个空格的位置。
LOOKUP
然后通过搜索大于该数组中可能找到的任何值来提取该数字,在这种情况下最后的找到号码
稍后Excel 2010
您还可以使用AGGREGATE
如下函数
=AGGREGATE(14,6,FIND(" ",A1,ROW(INDIRECT("1:"&LEN(A1)))),1)
FIND
返回与之前相同的数组,并使用 14 作为第一个参数,使用AGGREGATE
1 作为最后一个参数,您可以获得数组中的最大值,同时忽略错误 [6]