use*_*050 11 google-sheets google-apps-script
我是谷歌电子表格功能的新手,并试图通过以下方式应用公式:
我在一个工作簿(name-formula4)中有sheet1和sheet2,我正在使用以下公式从sheet1到sheet2进行过滤范围的sumproduct:
=SUMPRODUCT(filter(Sheet1!$A$1:$A$401, (Sheet1!$B$1:$B$401>= E1) * (Sheet1!$B$1:$B$401<= E2)))
Run Code Online (Sandbox Code Playgroud)
当选择范围时,公式完全正常(Sheet1!$ B $ 1:$ B $ 401> = E1)*(Sheet1!$ B $ 1:$ B $ 401 <= E2)有一些值并且不为空,但是如果我离开单元格如果所述范围为空(sheet1!b1:b3),则需要满足标准,然后给出错误"在过滤器评估中未找到匹配".在坚果壳中我想显示"0"而不是显示错误或"NA".
请注意,我无法填充整个选定的B列,因为它从表单接收实时数据而不是先前确定的数据.
请查看以下链接以获取详细信息并帮助纠正上述公式:
https://docs.google.com/spreadsheets/d/1HTXf4VG2JupiP9UqCLRyAddYjhsom1leQOI9-DwfMaY/edit#gid=0
Vas*_*sim 15
=IFERROR(SUMPRODUCT(filter(Sheet1!$A$1:$A$401, (Sheet1!$B$1:$B$401>= E1) * (Sheet1!$B$1:$B$401<= E2))),0)
Run Code Online (Sandbox Code Playgroud)
小智 6
我不推荐 IFERROR,因为它会抑制所有类型的错误。这不是一个好的做法。
你应该做的是...
如果过滤器返回 0 个项目,则仅显示 0
否则,显示所有项目的总和。
=IF(COUNT(FILTER(_range_,_condition_)) = 0, 0, SUM(FILTER(_range_,_condition_)))
Run Code Online (Sandbox Code Playgroud)
小智 6
我的床单也有同样的问题。我同意上面的评论隐藏错误不是最佳实践。但是隐藏 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")
Run Code Online (Sandbox Code Playgroud)
将“在此处输入您想要的文本或回复”更改为您想要回复的内容。如果您只希望它返回一个数值,例如0,您可以删除末尾的引号和文本响应,然后只输入数字。不要忘记,括号后的逗号 ( )!
它应该是这样的:
=IFNA(SUMPRODUCT(FILTER((Sheet1!$A$1:$A$401,
(Sheet1!$B$1:$B$401>= E1)*(Sheet1!$B$1:$B$401<= E2))),0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8502 次 |
| 最近记录: |