【问题标题】:Sum up row up to the last entry in row above将行汇总到上一行中的最后一个条目
【发布时间】:2020-10-02 19:43:43
【问题描述】:

我试图弄清楚如何将第 2 行中的值相加到第 1 行中最后一个条目所在的位置。我用谷歌搜索了很多,并且已经在 Reddit 上问过了,但我是 Excel 菜鸟,所以我无法真正让它发挥作用。我已经尝试过诸如 INDEX、LOOKUP、SUMPRODUCT 之类的东西,但我要么太愚蠢,要么它们并不能真正解决我的问题。

以下是一些建议: =LOOKUP(2,1/(A:A""),A:A) 但此函数必须转换为将 B 的值相加到如果我理解正确的话,最后一个条目的位置:)

提前致谢,祝你有美好的一天

【问题讨论】:

  • 那你的输出是什么?编辑您的问题,并为您的输入和输出数据树立良好的榜样。
  • 你为什么不使用像=SUM(A2:A1048576 ) 这样的简单求和,它将你从A2 中的所有数据求和。

标签: excel sum row


【解决方案1】:

将第 2 行中的值相加,直到第 1 行中的最后一个条目所在的位置

我认为您正在尝试总结第 2 行中的所有值直到第 1 行中的最后一个 X

所以在这种情况下,因为最后一个非空单元格在 E中,所以你想将第2行中从A列到E列的所有值相加。

我正在使用这个公式:

=SUMPRODUCT(--(COLUMN(A2:F2)<=SUMPRODUCT(MAX(--($A$1:$F$1<>"")*COLUMN($A$1:$F$1))));A2:F2)

这就是它的工作原理:

  1. SUMPRODUCT(MAX(--($A$1:$F$1&lt;&gt;"")*COLUMN($A$1:$F$1))) 将返回A1:F1 范围内非空单元格的最后一列号
  2. 公式的其余部分会将每个列号与步骤 1 中返回的值进行比较,如果列小于或等于,则将其添加到最终总和中。

【讨论】:

    【解决方案2】:

    试试:

    =SUM(A2:INDEX(2:2,LOOKUP(2,1/(1:1<>""),COLUMN(1:1))))
    

    • LOOKUP(2,1/(1:1&lt;&gt;""),COLUMN(1:1)) 将返回第 1 行中最后一个条目的列号。
    • 然后将该结果用作表示第 2 行的 INDEX 函数的 Column 参数
    • 我们构造一个范围参数,该参数从第 2 行的第一列 (A2) 开始并扩展到相关的列号
    • 然后SUM那个范围
    • 请注意,如果在您的公式所在的同一列的第 1 行中存在条目,则会产生循环引用。您可以在公式中检查或忽略它。

    【讨论】:

      猜你喜欢
      • 2012-02-16
      • 1970-01-01
      • 2012-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-18
      相关资源
      最近更新 更多