电子表格函数根据另一列的条件对一列中的所有值求和

时间:2009-03-31 22:25:01

标签: google-sheets

我想要一个电子表格函数,当A列等于X且等于Y时,它会生成B列中所有值的总和。

A     B

X    10
Y     3
X     7
X    22
Y     4
Y     9

输出应如下所示(其中3916是公式的结果):

X    39           -> 10 + 7 + 22
Y    16           -> 3 + 4 + 9

6 个答案:

答案 0 :(得分:13)

像这样的东西

X   10
Y   3
X   7
X   22
Y   4
Y   9

X   "=SUMIF(A1:A6;A8;B1:B6)"
Y   "=SUMIF(A1:A6;A9;B1:B6)"

答案 1 :(得分:6)

使用SUMIF(range, criteria, sum_range) :( B2-B8之间的总和值,使用A2-A8中的值作为标准,使用指定的条件)

=SUMIF(A2:A8,"=X",B2:B8)
=SUMIF(A2:A8,"=Y",B2:B8)

答案 2 :(得分:2)

您可以使用SUMPRODUCT来计算总数。对于“X”值:

=SUMPRODUCT((A1:A6="X")*(B1:B6))

表示“Y”值:

=SUMPRODUCT((A1:A6="Y")*(B1:B6))

希望有所帮助,

Eric Melski

编辑:显然,您必须使用ARRAYFORMULA在Google的电子表格中使用SUMPRODUCT。请参阅示例http://www.google.com/support/forum/p/Google+Docs/thread?tid=13a3eb824446e891&hl=en

答案 3 :(得分:1)

一个快速而肮脏的解决方案是制作两个新列。对于每一行x,Cx应该类似于= Ax =='X'?Bx:0。对D列执行相同操作,但检查Ax =='Y'。然后总和C和D.

(不确定这是否与Google Spreadsheet语法完全匹配。)

答案 4 :(得分:1)

怎么样?
=query(A:B, "select A, sum(B) group by A order by sum(B) desc")

答案 5 :(得分:0)

Google官方不支持sumproduct--运算符,这与Excel一样,这有点令人烦恼。您总是可以使用更多列来复制功能,但是当您在其中一条评论中做出回应时,这似乎是不可能的。

您可以检查表单中是否呈现了隐藏列。如果不是,这就是你要走的路。