如何在谷歌电子表格中的过滤器公式中显示零代替错误

时间:2015-03-25 11:33:29

标签: google-apps-script google-sheets

我是谷歌电子表格功能的新手,并尝试以下列方式应用公式:

我有sheet1& sheet2在一个工作簿(name-formula4)中,我正在使用以下公式进行从sheet1到sheet2的过滤范围的sumproduct:

=SUMPRODUCT(filter(Sheet1!$A$1:$A$401, (Sheet1!$B$1:$B$401>= E1) * (Sheet1!$B$1:$B$401<= E2)))

当选择范围时,公式完全正常(Sheet1!$ B $ 1:$ B $ 401&gt; = E1)*(Sheet1!$ B $ 1:$ B $ 401&lt; = E2)有一些价值&amp;不是空的,但是如果我将所述范围的单元格留空(sheet1!b1:b3),这些单元格需要满足标准,那么这就会出现错误&#34;在过滤器评估中找不到匹配项#34;在坚果壳中我想显示&#34; 0&#34;而不是显示错误或&#34; NA&#34;。

请注意,我无法填写整个选定的B列,因为它从表单接收实时数据而不是之前确定的数据。

请查看以下链接了解详情并帮助纠正上述公式:

https://docs.google.com/spreadsheets/d/1HTXf4VG2JupiP9UqCLRyAddYjhsom1leQOI9-DwfMaY/edit#gid=0

3 个答案:

答案 0 :(得分:14)

=IFERROR(SUMPRODUCT(filter(Sheet1!$A$1:$A$401, (Sheet1!$B$1:$B$401>= E1) * (Sheet1!$B$1:$B$401<= E2))),0)

答案 1 :(得分:2)

我不建议使用IFERROR,因为它会抑制所有类型的错误。这不是一个好习惯。

你应该做的是......

如果过滤器返回0项,那么只显示0

ELSE,显示所有项目的总和。

=IF(COUNT(FILTER(_range_,_condition_)) = 0, 0, SUM(FILTER(_range_,_condition_)))

答案 2 :(得分:2)

我的床单也遇到了同样的问题。我同意上面的评论隐藏错误不是最佳实践。但是隐藏N / A响应/自定义它非常有用!您需要将整个逻辑包装在NA语句中,因此首先要从它开始。这是您可以使用正在使用的公式执行类似操作的方法。

=IFNA(SUMPRODUCT(FILTER((Sheet1!$A$1:$A$401,
     (Sheet1!$B$1:$B$401>= E1)*(Sheet1!$B$1:$B$401<= E2))),
     "input text or response you want here")

将“您想要在此处输入文字或回复”更改为想要回复的内容。如果只希望它返回一个数字值,例如0,则可以删除结尾的引号和文本响应,然后输入数字即可。不过不要忘记括号后面的逗号( , )!
它应该看起来像这样:

=IFNA(SUMPRODUCT(FILTER((Sheet1!$A$1:$A$401,
       (Sheet1!$B$1:$B$401>= E1)*(Sheet1!$B$1:$B$401<= E2))),0)