汇总一列,并根据Google Spreadsheet中的另一列进行过滤


41

我在Google电子表格中有以下数据:

+------+---------+
| Time | Include |
+------+---------+
| 0:30 | No      |
| 1:00 | Yes     |
| 0:30 | Yes     |
| 0:30 | No      |
| 0:30 | Yes     |
+------+---------+

我想累加右边一列为“是”的时间。

我正在使用以下内容累计所有时间(3:00):

=SUM(A1:A5)

并且我已经尝试了以下方法,将相邻列的时间(2:00)总计为是,但是Google报告“ #ERROR!”:

=SUM(FILTER(A1:A5;B1:B5="Yes"))

1
如果您在Web Applications上搜索过,那么您将找到一些有关求和的示例。另一种方法是使用以下SUMIF公式:=SUMIF(B2:B6;"Yes";A2:A6)
Jacob Jan Tuinstra 2013年

之所以需要逗号而不是分号,是与您所在的时区有关。欧洲使用逗号,而美国使用分号。
雅各布·扬·图恩斯特拉

1
@JacobJanTuinstra:是否可以使用逗号或分号不一定与时区有关,而与语言环境/ _language_设置有关。特别是逗号是否用作小数点分隔符。如果是,则不能使用逗号分隔函数参数。在英语中,我们通常使用句点作为小数点分隔符,因此我们可以使用其中任何一个。
怀特先生

Answers:


48

刚意识到的FILTER应该用逗号分隔:

=SUM(FILTER(A1:A5,B1:B5="Yes"))

6
请注意,是否需要使用逗号或分号分隔函数参数取决于您的语言设置。
怀特先生

1
谢谢!另一个有用的是:=sum(Filter(A2:A, B2:B > EOMonth(now(), -1))),该值将当前月份的所有值相加,其中A2:A包含这些值并B2:B包含关联的日期。
jpaugh

1
您缺少右括号。
jpierson

应在接受的答案中指定逗号或分号用法
DependencyHell

14

Google Spreadsheet中还为此提供了一个内置函数。那是SUMIF

使用SUMIF解决方案将是这样的:

=SUMIF(B1:B6,"Yes",A1:A6)

这同样适用于这一点,也适用于xylar的回答:逗号可能需要与依赖于语言设置分号来代替。
bmaupin
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.