我正在尝试找出一个公式,它会给出列中第一个空单元格的行号。目前我正在使用:
=MATCH(TRUE, INDEX(ISBLANK(A:A), 0, 0), 0)
这样可以正常工作,除非公式与我正在搜索的列放在同一列中,在这种情况下它会执行某种循环引用或其他内容。是否有一个我可以使用的公式,当它在搜索时放在同一列中时会起作用?
答案 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