我试图显示特定列的所有数字的总和。我希望总和显示在列上方,如下所示:
21 30
A B
6 5
6 10
6 10
3 5
我知道我可以使用=SUM(A3:INDIRECT("D"&ROW()-2))
对值进行求和并将其显示在列的底部,但是我无法在列的顶部显示它。
请指导。
答案 0 :(得分:4)
根据评论和之前的答案,我建议在单元格A1
中输入以下公式:
=SUM(OFFSET(A$2,0,0,ROWS(b:b)-1))
然后,您可以复制/粘贴到最后一个列。
你也可以在A1
中修改你的公式,以实现相同的目标:
=SUM(INDIRECT("A2:A"&ROWS(A:A)-2))
但是你不能复制/粘贴到右边......
对您的想法采用更通用的方法是:
=SUM(INDIRECT(ADDRESS(ROW()+1,COLUMN())&":"&ADDRESS(ROWS(A:A),COLUMN())))
然后,您可以复制/粘贴到 last 列。
一些解释:
A2
到列A
底部的每个值(即对于Excel 2010,这将是A2:A1048576
)A$2
和B:B
放在OFFSET
公式中以避免循环引用,因为我在单元格A1
中写作而我无法写A$1
也不是A:A
INDIRECT
公式,您不必担心循环引用进一步评论(对不起,我没有在问题的正确位置发表评论的学分):
=SUM(A3:A65535)
也可以做这项工作,不是吗?答案 1 :(得分:2)
当我做这样的事情时,我更喜欢不包括我正在总结的范围之下的任何空单元格,因为我在过去因为包含它们而有错误(通常是因为在某个地方有一个单元格向下,我不希望有一个值)。我假设A
& B
是您的列标题。假设,我就是这样做的。这是您的单元格A1
的公式:
=SUM(OFFSET(A$1,2,0,COUNTA(A$3:A$65535)))
根据OP的要求,我将根据简短的解释对此进行更新。
Excel Offset函数返回从初始提供的范围中指定行数和列数的单元格范围。
OFFSET
的功能参考是:
=OFFSET(reference, rows, cols, [height], [width])
此公式的作用是根据选区中相对于单元格A$1
的单元格数创建动态范围。这是两行且没有列的偏移量,它从A$3
开始。范围的高度是A$3:A$65535
范围内的已填充单元格总数。这里的假设是范围内没有空白单元格,样本数据中没有。