Answers:
如果用空白值表示“空格”,用XLS表示Excel,则可以使用此公式(假设要在其中找到最后一个空格的测试在中A1
):
=FIND("☃",SUBSTITUTE(A1," ","☃",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))
您可以将其分为3部分:
LEN(A1)-LEN(SUBSTITUTE(A1," ",""))
给你的空间的数量,让我们把它x
,SUBSTITUTE(A1," ","☃",[x])
将用x
雪人代替第四个空格(最后一个空格),FIND("☃",[...])
会给你雪人的位置。最后一个空格的位置。这是另一种方式,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]
"1:"&LEN(A1)
值为“ 1:12”-这是ROW无法处理的字符串,但是INDIRECT将字符串转换为ROW 可以处理的有效引用,因此ROW(1:12)然后给您{1 ; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12}
barry larry houdini
则FIND将返回此数组,{6;6;6;6;6;6;12;12;12;12;12;12;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}
并且LOOKUP和/或AGGREGATE将采用该数组的最后一个/最大数值,即12