我需要创建一个返回范围内最后一个空单元格的行号的公式。例如
Cell Data
B10 text-a
B11 text-b
B12 text-c
B13
B14
B15 text-d
B16
B17 text-e
在B10:B17范围内,我需要公式返回值16,这是没有输入数据的最后一行。
我尝试了INDEX / COUNTBLANK / LOOKUP的各种排列,但没有成功。
有什么想法吗?
答案 0 :(得分:2)
在我的评论中说要使用数组公式:
=INDEX(B10:B17,MAX((B10:B17="")*(ROW(B10:B17)-9)))
这将返回单元格B16中的值,但是您要输入行号。
使用数组公式:
=MAX((B10:B17="")*(ROW(B10:B17)))
它与INDEX
相同,但不需要从单元格返回值。
答案 1 :(得分:2)
=LOOKUP(2,1/(LEN(B10:B17)=0),ROW(B10:B17))
正常输入
工作原理:
Len(rng)=0
返回{TRUE;FALSE;...}
的数组,具体取决于单元格是否为空
1/(…)
将其转换为{1; #DIV/0!;…}
因此,数组中的最后一个1
将返回到最后一个空白单元格的位置。
LOOKUP(2,...)
:保证2
大于数组中的任何元素
##如果LOOKUP函数找不到lookup_value,则该函数将匹配lookup_vector中小于或等于lookup_value的最大值。,并在未排序的数组中,它将是满足此条件的最后一个值。
使用公式评估工具查看进展情况可能会有所帮助。