应用“Sum(使用ArrayFormula过滤(”到范围)

时间:2016-01-12 09:08:37

标签: google-apps-script google-sheets formulas array-formulas

我遇到了使公式成为数组的问题。我现在的公式是

Cell S3 =

=sum(FILTER('Junkyard 2'!$G$3:$H,'Junkyard 2'!$B$3:$B>=$S$5,'Junkyard 2'!$B$3:$B<=$T$5,
'Junkyard 2'!$C$3:$C=N8 

(垃圾场2是所有数据被转储的地方.S5和T5是日期。所以基本上我正在尝试获取一个数字列表,这些数字介于两个日期之间,并且匹配该人的名字(Cell N8)和添加总小时数。这是一种解决方法,因为我无法使sumifs工作)

我之所以这样做,即使用户要插入另一行,该公式也将适用于新行

Cell S3 =

 =ARRAYFORMULA(IF(ROW(R7:R)=7,"", sum(FILTER(
'Junkyard 2'!$G$3:$H,'Junkyard 2'!$B$3:$B>=$S$5,'Junkyard 2'!$B$3:$B<=$T$5,
'Junkyard 2'!$C$3:$C=N8 

我现在的问题是我不能将它应用于整个S3:S。 通过将最后一部分更改为

'Junkyard 2'!$C$3:$C=N8:N would not give me the proper answer.

任何人都可以帮我将其应用到范围内吗? 下面的图片是“Junkyard 2 Sheet” Reference

1 个答案:

答案 0 :(得分:0)

使用QUERY公式(Reference)最容易实现您想要做的事情,因为您可以在一个命令中过滤和聚合,其灵活性比SUMIFS更强。

尝试根据您的需要调整此公式:

=QUERY('Junkyard 2'!B3:H, 
       "SELECT SUM(G) + SUM(H) 
        WHERE B >= date '" & TEXT(U4, "yyyy-mm-dd") & "' AND 
              B <= date '" & TEXT(U5, "yyyy-mm-dd") & "' AND 
              C = '" & U6 & "'")