我想定义一个动态范围,每当插入新的行或列时,该范围就会扩大范围的行和列。我当前的公式不想扩展到单元格$T$13
。我的标题从第$M$7
行开始。如何调整公式?
正在使用的公式
=OFFSET(Sheet1!$M$8,0,0,COUNTA(Sheet1!$M:$M),COUNTA(Sheet1!$1:$1))
我需要将范围扩展到单元格$T$13
答案 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))
即使范围之间有空格,这仍然有效。