找到同一列/行中的第一个空单元格

时间:2014-07-30 12:58:47

标签: excel excel-formula match cell

我正在尝试找出一个公式,它会给出列中第一个空单元格的行号。目前我正在使用:

=MATCH(TRUE, INDEX(ISBLANK(A:A), 0, 0), 0)

这样可以正常工作,除非公式与我正在搜索的列放在同一列中,在这种情况下它会执行某种循环引用或其他内容。是否有一个我可以使用的公式,当它在搜索时放在同一列中时会起作用?

3 个答案:

答案 0 :(得分:3)

另一种方法

=MIN(IF(A2:A6="",ROW(A2:A6)))

您必须按CTRL+SHIFT+ENTER

不同之处在于,它将为您提供第一个空单元格的行号 上一个答案将给出第一个空单元格的位置(起始行的行数)......两种方式都有效,具体取决于您的需求

答案 1 :(得分:0)

=MATCH(TRUE,INDEX(ISBLANK(INDIRECT("R[1]C:R1048576C",0)),0,0),0)+ROW()

上面的公式返回当前列中当前行下方的第一个空白单元格的行号,但不需要在工作表的第1行中输入。
它将A:A目标范围替换为从下一行开始并一直延伸到工作表末尾的范围,然后将当前行号添加到结果中以添加跳过的行。这避免了循环参考,因为它从下一行开始。

在第二个参数设置为INDIRECT(ref_text, [a1])FALSE的情况下使用0函数,可以通过 R1C1 表示法传递ref_text(例如B5作为R5C2)。 R1C1表示法还具有鲜为人知的语法,用于将位置描述为与当前位置的偏移量。如果R或C之后的数字用方括号括起来,则将其视为当前单元格的+/-偏移量;如果省略则将其视为零偏移量(例如,单元格"R[-1]C[-1]"中的B5返回{{ A4中的1}}和"RC"返回自身B5)。
公式中B5的R1C1位置定义了一个范围,该范围从当前单元格开始,RC偏移为1,0,在固定行1048576处,到当前单元格的偏移为0。当放置在单元格R[1]C:R1048576C中时,它等效于C3,而在C4:C1048576中则等效于A1。如果需要动态设置最大行数,请使用A2:A1048576,但是由于当前版本的Excel的行限制为1,048,576,因此只需进行设置即可。

答案 2 :(得分:0)

您要做的就是计算一列中的非空白单元格:COUNTA 例如

=COUNTA(E:E)

如果要从列的最下方找到第一个空白单元格,请设置列范围,例如E23:E100并为其添加单元格编号-1

=COUNTA(e23:E1000)+23-1