条件为真时的值总和

SUM of values if condition is true

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

请在下面找到示例。

工作表 1

       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(Sheet2!A:A,A2,Sheet2!D:D)

如果您使用特定范围,则使用绝对位置,这样当您向下拖动时它就不会改变。使用-

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

这里对 exceljet.

的解释很好

与其使用相对引用,不如使用绝对引用。简单来说,只需使用 $ 符号来冻结公式中的行,以防止在向下填充/复制粘贴公式时它们向下移动。

这是一个例子:

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

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

在公式中应用 $ 符号的键盘快捷方式是 F4 键。您 select 公式中的范围并按键盘上的 F4 键。

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