如何在不使用冻结头的情况下对整个列求和?
我遇到一种情况:我需要对每列求和,但每列的总行数会不断变化。用户不断在每列中添加数据,所以我只知道列的开始是 A3,但我不知道它在哪里结束。我想将 A2 设置为 A 列的 SUM,这样无论用户在 A 列中输入多少数据,它都会自动将它们全部求和。
我试图使用 =sum(a:a),但我无法将其放在那里......
有什么好主意吗?
答案1
我会使用动态命名的范围。假设要求和的所有数据都在 A 列中。单元格 B1 是该列的总和。使用以下步骤创建一个将随数据扩展和收缩的动态范围。动态命名的范围很棒,因为它们只让 Excel 计算其中有数字的单元格,从而使您的公式比以前快得多。
- 选择单元格 B1
- 在名称管理器中定义一个新名称。
- 为动态范围创建一个名称 - ColumnARange
- 在中插入以下公式指:文本框。
=OFFSET($A1,2,0,COUNTA(A:A), 1)
- 单击“确定”
- 在单元格 B1 中键入以下公式
=SUM(ColumnARange)
命名范围将随数字单元格动态扩展和收缩。如果任何单元格仅包含字母字符或为空白,它将停止。有关更多信息,请参阅此博客。
答案2
我首先将范围转换为表格(插入功能区、表格)。
然后,我将转到“表格工具/设计”功能区并选中“总计行”选项。这将出现在底部,默认情况下将生成公式=SUBTOTAL(109,[My Column Name])
,该公式将产生总和。
如果您必须在单元格 A2(表格外)中输入公式,那么我会使用以下公式:
=SUBTOTAL(109,Table1[My Column Name])
然后,您可以插入或删除表中的行,而不需要编辑任何公式。