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

Excel 如何使用单元格之间的空格扩展动态范围?,excel,excel-formula,Excel,Excel Formula,我想定义一个动态范围,每当插入新行或新列时,它将扩展我的范围中的行和列。我当前的公式不想扩展到单元格$T$13。我的标题从第行开始$M$7。如何调整我的配方 正在使用的公式 =OFFSET(Sheet1!$M$8,0,0,COUNTA(Sheet1!$M:$M),COUNTA(Sheet1!$1:$1)) 我需要将范围扩展到单元格$T$13 现在,您的公式计算M列中文本值的数量 这不是一种稳健的方法,因为M列只包含五个文本值,而S列和T列包含更多的值 如果不知道哪一列的条目数最多,可以在每一列中

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

正在使用的公式

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

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


现在,您的公式计算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列中的最大行数

如果第2行打乱了工作表的设计,现在可以隐藏该行

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

这真的应该是一个新问题,但问题来了

如果列有数值,则可以使用

=MATCH(99^99,B5:B999,1)
=MATCH("zzz",C5:C999,1)
如果列具有文本值,则可以使用

=MATCH(99^99,B5:B999,1)
=MATCH("zzz",C5:C999,1)

相应地调整你的范围。

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

范围内
$M2:$T2

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

我添加了
IFERROR
,因为我的数据并不总是将数据拉伸到
$T2

然后,我在名称管理器中使用以下内容定义了我的范围:

=偏移量(表3!$M$8,0,0,最大值(表3!$M$2:$T$2),计数(表3!$1:$1))


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

@teyln我的示例中的数据扩展到
T13
,但是如果我为日期添加了另一列,我是否需要扩展
=max(M2:T2)
?有没有办法在不知道最后一列或最后一行的情况下解决这个问题?没有。如果在第2行中使用正确的公式,它将返回偏移量中所需的数字。再次阅读我的帖子。我进行了一次编辑以捕获空行。