【问题标题】:Adding all the values below the current cell in Excel在 Excel 中添加当前单元格下方的所有值
【发布时间】:2015-06-10 12:16:30
【问题描述】:

我正在尝试显示特定列的所有数字的总和。我希望总和显示在列上方,如下所示:

21   30
A    B
6    5
6    10
6    10
3    5

我知道我可以使用=SUM(A3:INDIRECT("D"&ROW()-2)) 对这些值求和并将其显示在列的底部,但是我无法将其显示在列的顶部。

请指导。

【问题讨论】:

  • 类似=SUM(A3:A65535)?
  • 是的,这就是我想要实现的目标......
  • 您可以通过使用this Google Sheet 中所示的2 列来伪造列总和而无需获得循环引用(它在Excel 中的工作方式完全相同)。单元格A1 包含公式=SUM(B:B),但单元格与单元格B1 合并,然后列A 被隐藏。

标签: excel excel-formula


【解决方案1】:

根据 cmets 和之前的答案,我建议使用以下公式,在单元格 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())))

然后您可以复制/粘贴到右侧直到 最后一个列。

一些解释:

  • 这两个公式对从 A2 到列底部 A 范围内的每个值求和(即对于 Excel 2010,这将是 A2:A1048576
  • 是否有空白或没有值的单元格无关紧要;该公式仅对数字求和
  • 我将A$2B:B 放在OFFSET 公式中以避免循环引用,因为我在单元格A1 中写,我不能写A$1 也不能写A:A
  • 使用INDIRECT 公式,您不必担心循环引用

进一步评论(抱歉,我没有资格在问题下方的正确位置发表评论):

  • 系统发育公式=SUM(A3:A65535) 也可以工作,不是吗?
  • 一开始不明白您的问题,因为您说的是“特定的所有数字的总和”,但后来您总结了,不是吗?

【讨论】:

  • 我的意思是列,对不起这个错误....是的,即使我有问题...=SUM(A3:A65535) 似乎有效,那么其他公式的优势是什么超过这个?
  • 好的,很高兴听到系统发育公式没问题。其他公式的优点(如果有的话)是一种更通用的方法。
  • 我实际上比我更喜欢您的“更通用的方法...”。我从来没有在我的电子表格中使用过INDIRECT。问题:这对大量数据的计算有何影响?我提出的方法有时需要很长时间才能重新计算。
  • 谢谢 Doug R.;实际上我不太习惯这种“速度”测试,我只能非常主观地添加这个:对于我的数据集(一些数百到数千行,几十列),计算时间是可以接受的(......而且我'我不是很有耐心)。您能否指点我一些资源来测量这种参数?
【解决方案2】:

当我做这样的事情时,我更愿意在我求和的范围内包含任何空单元格,因为我过去曾因包含它们而出现错误(通常是因为在列中某处我不希望有值的地方有一个单元格)。我假设 AB 是您的列标题。假设,这就是我会怎么做。这是单元格A1 的公式:

=SUM(OFFSET(A$1,2,0,COUNTA(A$3:A$65535)))

说明

根据 OP 的要求,我将对此进行简要说明。

根据ExcelFunctions.net

Excel Offset 函数从初始提供的范围返回指定数量的行和列的单元格范围。

OFFSET 的函数引用为:

=OFFSET(reference, rows, cols, [height], [width])

此公式的作用是根据所选单元格的数量(相对于单元格A$1)创建一个动态范围。这是两行无列的偏移量,范围从A$3 开始。范围的高度是A$3:A$65535 范围内填充单元格的总数。这里的假设是范围内没有空白单元格,而样本数据中没有。

【讨论】:

  • 你能解释一下吗? :)
  • 您的公式可以修改为自动适用于 Excel 2003 和 2010 吗??
  • 我目前使用 Excel 2007,无法访问 2003 或 2010 进行测试。但是至少从 Excel 2003 开始​​,我一直在使用这个公式的变体,没有问题。我不知道 2007 年和 2010 年之间的区别,但 AFAIK 应该可以在 2010 年正常工作,除非在一些非常基本的功能的工作方式上有一些重大差异。
  • 实际上有些单元格中没有值...这些值是从数据库中获取的,所以我无法更改它们。这个函数能用吗?
  • 在这种情况下,它可能不起作用,除非您有能力编写数据库查询以返回 0 来代替空单元格。在这种情况下,您最好使用来自 cmets 的 @Phylogenesis' 解决方案并使用 =SUM(A$3:A$65535)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多