如何使用单元格之间的空白扩展动态范围?

时间:2019-04-13 06:25:26

标签: excel excel-formula

我想定义一个动态范围,每当插入新的行或列时,该范围就会扩大范围的行和列。我当前的公式不想扩展到单元格$T$13。我的标题从第$M$7行开始。如何调整公式?

正在使用的公式

=OFFSET(Sheet1!$M$8,0,0,COUNTA(Sheet1!$M:$M),COUNTA(Sheet1!$1:$1))

我需要将范围扩展到单元格$T$13

enter image description here

2 个答案:

答案 0 :(得分:3)

现在,您的公式将计算M列中的文本值数量。

这不是一种可靠的方法,因为M列仅包含五个文本值,而S和T列具有更多的值。

如果您不知道哪一列可能具有最多的条目数,可以在每列中引入一个辅助单元格,该单元格用于计算下面的条目数。我建议您插入一个新行2。例如,在M列中,将公式放入M2

=counta($M$3:M$99999)

将该公式复制到T列。

接下来,您可以评估哪些列的数量最多

=max(M2:T2)

可以将其插入原始公式中,如下所示:

=OFFSET(Sheet1!$M$8,0,0,max(M2:T2),COUNTA(Sheet1!$1:$1))

现在,该公式不仅查看M列中的行数,还使用M到S列中的最大行数。

如果第二行使您的工作表设计不满意,您现在可以隐藏它。

编辑:仅使用CountA计数文本值将忽略空白单元格并返回错误结果。您确实需要一个公式来查找每列中最后一个填充的单元格的行号。

这确实应该是一个新问题,但这是

如果该列包含数字值,则可以使用

=MATCH(99^99,B5:B999,1)

如果该列具有文本值,则可以使用

=MATCH("zzz",C5:C999,1)

相应地调整范围。

答案 1 :(得分:0)

我最终使用了@tevlyn提到的解决方案。

范围$M2:$T2

我有以下公式=IFERROR(MATCH(99^99,M$8:M$999,1),0)

我添加了IFERROR,因为我的数据并不总是具有延伸到$T2的数据。

然后我使用以下名称在名称管理器中定义范围:

=OFFSET(Sheet3!$M$8,0,0,MAX(Sheet3!$M$2:$T$2),COUNTA(Sheet3!$1:$1))

即使范围之间有空格,这仍然有效。