我需要找到 XLS 单元格中的最后一个空格

我需要找到 XLS 单元格中的最后一个空格

我有一张包含文本值的 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 作为第一个参数,使用AGGREGATE1 作为最后一个参数,您可以获得数组中的最大值,同时忽略错误 [6]

相关内容