在同一列/行中查找第一个空单元格
Posted
技术标签:
【中文标题】在同一列/行中查找第一个空单元格【英文标题】:Find the first empty cell in the same column/row 【发布时间】:2014-09-22 03:11:30 【问题描述】:我正在尝试制定一个公式,该公式将为我提供列中第一个空单元格的行号。目前我正在使用:
=MATCH(TRUE, INDEX(ISBLANK(A:A), 0, 0), 0)
这很好用,除非公式与我正在搜索的列放在同一列中,在这种情况下,它会执行某种循环引用或其他操作。有没有我可以使用的公式,当它放在与搜索相同的列中时可以使用?
【问题讨论】:
好吧,使用我给出的示例代码,然后是的,同一列。但如果它改为搜索一行,就会出现同样的问题。 啊,我明白了。非常感谢! 【参考方案1】:另一种方法
=MIN(IF(A2:A6="",ROW(A2:A6)))
你必须按CTRL+SHIFT+ENTER
不同的是,这会给你第一个空单元格的行号 上一个答案将给出第一个空单元格的位置(从起始行开始的行数)......这两种方式都有效,具体取决于您的需要
【讨论】:
你说得对,我只是提供了一种不同的方法。【参考方案2】: =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 后面的数字括在方括号中,则将其视为与当前单元格的 +/- 偏移量,如果省略则将其视为零偏移量(例如,单元格 B5
中的 "R[-1]C[-1]"
返回 A4
和 @987654331 @ in B5
返回自身 B5
)。
公式中R[1]C:R1048576C
的 R1C1 位置定义了一个范围,该范围从当前单元格开始,RC 偏移量为 1,0,到固定行 1048576 结束,与当前单元格的列偏移量为 0。当放置在单元格C3
中时,它将等效于C4:C1048576
,而在A1
中则等效于A2:A1048576
。如果您需要动态设置最大行数,请使用INDIRECT("R[1]C:R"&ROWS(A:Z)&"C",0)
,但由于当前版本的 Excel 的行数限制为 1,048,576,因此只需设置它即可。
【讨论】:
【参考方案3】:您所要做的就是计算一列中的非空白单元格:COUNTA
例如
=COUNTA(E:E)
如果您想从列的下方找到第一个空白单元格,请设置列范围,例如E23:E100
并将单元格编号 -1
添加到其中。
=COUNTA(e23:E1000)+23-1
【讨论】:
以上是关于在同一列/行中查找第一个空单元格的主要内容,如果未能解决你的问题,请参考以下文章