查找范围内最后一个空白单元格的公式

时间:2018-07-18 10:48:59

标签: excel excel-formula

我需要创建一个返回范围内最后一个空单元格的行号的公式。例如

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的各种排列,但没有成功。

有什么想法吗?

2 个答案:

答案 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的最大值。,并在未排序的数组中,它将是满足此条件的最后一个值。

  • 然后,我们使用函数的矢量形式将返回值与行号进行匹配。

使用公式评估工具查看进展情况可能会有所帮助。

enter image description here