Filter 具有特定列的日期范围的SUMIF

Filter 具有特定列的日期范围的SUMIF,filter,google-sheets,match,google-sheets-formula,google-sheets-query,Filter,Google Sheets,Match,Google Sheets Formula,Google Sheets Query,我一直在试图找到答案,但没有成功-我需要对指定日期范围的列求和,只要我的行名与参考表的列名匹配 i、 e 参考表 表1 必须在google sheets中工作,我尝试使用SUMPRODUCT,它告诉我我不能乘文本,我尝试使用SUMIFS,它让我知道我不能有不同的数组参数-失败的努力类似于下面 =SUMIFS('Reference_Sheet'!B2:AO1000,'Reference_Sheet'!A1:AO1,"=A4",'Reference_Sheet'!A2:A1000,">=B1"

我一直在试图找到答案,但没有成功-我需要对指定日期范围的列求和,只要我的行名与参考表的列名匹配

i、 e

参考表

表1

必须在google sheets中工作,我尝试使用SUMPRODUCT,它告诉我我不能乘文本,我尝试使用SUMIFS,它让我知道我不能有不同的数组参数-失败的努力类似于下面

=SUMIFS('Reference_Sheet'!B2:AO1000,'Reference_Sheet'!A1:AO1,"=A4",'Reference_Sheet'!A2:A1000,">=B1",'Reference_Sheet'!A2:A1000,"<=B2")
这可能会奏效:

=sumifs(indirect("Reference_Sheet!"&address(2,match(A4,Reference_Sheet!A$1:AO$1,0))&":"&address(100,match(A4,Reference_Sheet!A$1:AO$1,0))),Reference_Sheet!A$2:A$100,">="&B$1,Reference_Sheet!A$2:A$100,"<="&B$2)
但您需要指定需要它向下移动多少行。在我的公式中,它向下看直到100行

要更改行数,需要在三个位置更改行数:

&地址100 参考表!A$2:A$100。。。在两个地方 要简要解释正在发生的事情:

使用match在第1行中查找此人的姓名 使用address和indirect生成要添加的单元格的地址 然后是基于日期的SUMIF。 备选方案:

=SUMPRODUCT(QUERY(TRANSPOSE(QUERY($A:$D, 
 "where A >= date '"&TEXT(F$1, "yyyy-mm-dd")&"'
    and A <= date '"&TEXT(F$2, "yyyy-mm-dd")&"'", 1)), 
 "where Col1 = '"&$E4&"'", 0))
=SUMPRODUCT(('Reference_Sheet'!$A$2:$AO$1000)*('Reference_Sheet'!$A$2:$A$1000>=B$1)*('Reference_Sheet'!$A$2:$A$1000<=B$2)*('Reference_Sheet'!$A$1:$AO$1=$A4))
=sumifs(indirect("Reference_Sheet!"&address(2,match(A4,Reference_Sheet!A$1:AO$1,0))&":"&address(100,match(A4,Reference_Sheet!A$1:AO$1,0))),Reference_Sheet!A$2:A$100,">="&B$1,Reference_Sheet!A$2:A$100,"<="&B$2)
=SUMPRODUCT(QUERY(TRANSPOSE(QUERY($A:$D, 
 "where A >= date '"&TEXT(F$1, "yyyy-mm-dd")&"'
    and A <= date '"&TEXT(F$2, "yyyy-mm-dd")&"'", 1)), 
 "where Col1 = '"&$E4&"'", 0))