Google sheets 电子表格函数,用于根据另一列的条件对一列中的所有值求和
我想要一个电子表格函数,当a列等于Google sheets 电子表格函数,用于根据另一列的条件对一列中的所有值求和,google-sheets,Google Sheets,我想要一个电子表格函数,当a列等于X和Y时,它将生成B列中所有值的总和 A B X 10 Y 3 X 7 X 22 Y 4 Y 9 输出应如下所示(其中39和16是公式的结果): 一个快速而肮脏的解决方案是创建两个新列。对于每一行x,Cx应该类似于=Ax=='x'?Bx:0。对D列执行相同的操作,但检查Ax=='Y'。然后求C和D的和 (不确定是否与谷歌电子表格语法完全匹配。)类似的内容 X 10 Y 3 X 7 X 22
X
和Y
时,它将生成B列中所有值的总和
A B
X 10
Y 3
X 7
X 22
Y 4
Y 9
输出应如下所示(其中39
和16
是公式的结果):
一个快速而肮脏的解决方案是创建两个新列。对于每一行x,Cx应该类似于=Ax=='x'?Bx:0。对D列执行相同的操作,但检查Ax=='Y'。然后求C和D的和 (不确定是否与谷歌电子表格语法完全匹配。)类似的内容
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)"
您可以使用
SUMPRODUCT
计算总计。对于“X”值:
对于“Y”值:
希望有帮助
埃里克·梅尔斯基
编辑:显然你必须使用ARRAYFORMULA才能在谷歌的电子表格中使用SUMPRODUCT。例如,谷歌文档不支持像Excel那样的
sumproduct
和--
操作符,这一事实有点麻烦。您总是可以使用更多的列来复制功能,但当您在其中一条评论中做出响应时,这似乎是不可能的
您可以检查表单中是否呈现了隐藏列。如果不是,这就是方法。使用SUMIF(范围、标准、总和范围)
:(B2-B8之间的总和,使用A2-A8中的值作为标准,使用指定条件)
那怎么办
=query(A:B, "select A, sum(B) group by A order by sum(B) desc")
是的,我是电子表格noob=)属于webapps.stackexchange我不能添加更多列的一个原因是因为我正在构建一个谷歌表单,如果我添加列,它会变得非常疯狂。我必须在不修改google表单使用的电子表格的情况下,将此公式放在单独的电子表格中。我相信它是受支持的,但您必须使用ARRAYFORMULA才能使用SUMPRODUCT。请参阅我上面的编辑。+1:在Excel 2003中,我能够做=SUMPRODUCT((A1:A6“”)*(B1:B6))来只计算B1到B6中的项目,其中在相应的A1到A6中有一些项目。谢谢你(对我稍微不同的问题)的回答!你也许应该对此再加一点解释。
=SUMPRODUCT((A1:A6="X")*(B1:B6))
=SUMPRODUCT((A1:A6="Y")*(B1:B6))
=SUMIF(A2:A8,"=X",B2:B8)
=SUMIF(A2:A8,"=Y",B2:B8)
=query(A:B, "select A, sum(B) group by A order by sum(B) desc")