【问题标题】:SUM of values if condition is true如果条件为真,则值的总和
【发布时间】:2020-10-12 09:50:41
【问题描述】:

如果任务名称相同,我正在尝试对值进行求和。

请在下面找到一个示例。

Sheet1

       A       |                  B   
1 |   Tasks    |   Result
2 |  Task 1    |  =SUMIF(Sheet2!D2:D7;A2;Sheet2!A2:A7)
3 |  Task 2    |  =SUMIF(Sheet2!D2:D7;A3;Sheet2!A2:A7)
4 |  Task 3    |  =SUMIF(Sheet2!D2:D7;A4;Sheet2!A2:A7) 

Sheet2

      A      |     B     |    C     |     D
1 | Tasks    |   City    |   Age    |   Value 
2 | Task 1   |           |          |    10 
3 | Task 1   |           |          |    12
4 | Task 2   |           |          |    20
5 | Task 2   |           |          |    8 
6 | Task 2   |           |          |    2
7 | Task 3   |           |          |    45

对于任务 1,预期结果是 22。 对于任务 2,预期结果是 30。 对于任务 3,预期结果为 45。

但是,我得到 0。

你能解释一下公式中有什么问题吗?

谢谢

【问题讨论】:

  • sumif 将检查条件的范围作为第一个参数,最后一个参数是要求和的范围。反之亦然。
  • 您也可以使用数据透视表恢复数据

标签: excel excel-formula sumifs


【解决方案1】:

简单使用

=SUMIF(Sheet2!A:A,A2,Sheet2!D:D)

如果您使用特定范围,则使用绝对位置,以便在您向下拖动时不会更改。使用-

=SUMIF(Sheet2!$A$2:$A$7,A2,Sheet2!$D$2:$D$7)

exceljet.这里有很好的解释

【讨论】:

    【解决方案2】:

    使用相对引用,你需要使用绝对引用。简而言之,只需使用 $ 符号来冻结公式中的行,以防止它们在公式向下填充/复制粘贴时向下移动。

    这是一个例子:

    =SUMIF(Sheet2!D$2:D$7;A2;Sheet2!A$2:A$7)
    

    如果在公式中的列引用之前使用 $ 符号,同样可以防止列移动。

    在公式中应用 $ 符号的键盘快捷键是 F4 键。您选择公式中的范围,然后按键盘上的 F4 键。

    第一次 F4 键按下:行和列都会被冻结 第二次 F4 键按下:将仅冻结行 第三次 F4 键按下:将删除行冻结并将冻结应用于列 第 4 次 F4 键按下:将删除所有冻结并使范围相对

    【讨论】:

      猜你喜欢
      • 2012-06-28
      • 1970-01-01
      • 1970-01-01
      • 2022-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-25
      • 1970-01-01
      相关资源
      最近更新 更多