【问题标题】:Excel formula to find sum of differenceExcel公式求差值之和
【发布时间】:2014-12-31 08:36:43
【问题描述】:

我有 2 列的 excel 表:基线,当前。
如果基准价格和当前价格为实际价格,则为基线。
例如:

base | curr
-----|-----
10   | 15
8    | 8
9    | 5
1    | 2
-----|-----
27   | 28

现在,如果当前价格较高,我需要差价。在我们的示例中,第一行和最后一行的当前价格较大,所以我需要公式返回 6 (=15-10+2-1)。

有没有办法在excel公式中做到这一点?我需要循环所有行并标记 curr>base 行,然后对每个结果进行 sum(curr-base)。

我在没有帮助的情况下尝试了 sumproduct 和其他函数(sumifs 等)......

知道如何解决这个问题吗?

谢谢!

【问题讨论】:

  • 只为此添加一个计算列会不可接受吗?
  • sum(base)-sum(curr) 将返回 1 (28-27),我需要它返回 6,以获得更大的 curr culomn 的总和..

标签: excel excel-formula


【解决方案1】:

如果你不喜欢那些-- 你也可以这样得到公式:

=SUMPRODUCT((B1:B3>A1:A3)*(B1:B3-A1:A3))

注意:* 取代了 ,

【讨论】:

    【解决方案2】:

    找到了答案..不需要新专栏左右..

    =SUMPRODUCT(--(B1:B3>A1:A3),--(B1:B3-A1:A3))
    

    列基 = A,当前 = B

    感谢您的尝试..

    【讨论】:

    • 不错的发现。你能告诉我--() 是做什么的吗?
    • --() 创建“TRUE”值 = 1,FALSE = 0 的新数组。在我们的示例中,它将创建:{1,0,0,1},第二个 --( ) 将返回新列之间的差异,因此将所有差异与 TRUE 标准相乘,将为您提供一些唯一的 TRUE(乘以 0 为 0 :))。
    • @CustomX - 双减号很难搜索,但如果您使用技术术语 Excel double unary,则还不错。
    【解决方案3】:

    我会创建一个包含=IF(B1 > A1;B1-A1;0) 的新列,并将其汇总。

    【讨论】:

    • 做不到..我有大约 100 个 curr 列,并且每天添加.. 无法创建 2 列而不是 1.. 抱歉
    • @gabi 如果它被格式化为表格,公式将在添加新行时自动复制。
    • 新列,每天 1 列(每列大约 100 行),所有列的基线都相同。
    【解决方案4】:

    添加另一列,使用 IF 语句计算两者中较大的一个。

    将该列相加得到您的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多