Google sheets 我如何使用水平和垂直标准(包括日期)进行统计?

Google sheets 我如何使用水平和垂直标准(包括日期)进行统计?,google-sheets,matrix-multiplication,array-formulas,google-sheets-formula,Google Sheets,Matrix Multiplication,Array Formulas,Google Sheets Formula,我试图基于两个标准来SUMIF数据: 列的标题(水平) 在两个日期之间(垂直) 我尝试了很多函数来解决这个问题,但都没有用 我尝试过使用匹配、索引和过滤器的函数,但无法使该函数正常工作 正如您在我的代码中所看到的,我找到了一个解决方法,但它并不理想,因为它不使用表头来标识我要查找的数据值(请参见下面的产品a的示例函数) =SUMIFS(B:B,A:A,“>=”&A$2,A:A,“=ARRAYFORMULA({B1:D1;转置(MMULT( 转置(过滤器(B2:D,A2:A>=A3,A2:A=A

我试图基于两个标准来
SUMIF
数据:

  • 列的标题(水平)
  • 在两个日期之间(垂直)
  • 我尝试了很多函数来解决这个问题,但都没有用

    我尝试过使用匹配、索引和过滤器的函数,但无法使该函数正常工作

    正如您在我的代码中所看到的,我找到了一个解决方法,但它并不理想,因为它不使用表头来标识我要查找的数据值(请参见下面的产品a的示例函数)

    =SUMIFS(B:B,A:A,“>=”&A$2,A:A,“
    =ARRAYFORMULA({B1:D1;转置(MMULT(
    
    转置(过滤器(B2:D,A2:A>=A3,A2:A=A3,A2:A您还可以使用索引/匹配仅选择范围的相关列(其中行参数中的零表示整个列):


    =sumifs(index($B2:$D,0,match(F1,$B1:$D1,0)),$A2:$A,“>=”&$A2,$A2:$A,“这非常好用。而且很容易实现。谢谢!谢谢你分享这个解决方案!和Tom的建议一样,这也很好用,但我发现他的解决方案更容易理解和实现。”。
    
    =ARRAYFORMULA({B1:D1; TRANSPOSE(MMULT(
     TRANSPOSE(FILTER(B2:D, A2:A>=A3, A2:A<=A5)), 
     TRANSPOSE(SPLIT(REPT(10, 
     COUNTA(FILTER(B2:B, A2:A>=A3, A2:A<=A5))), 1))^0))})
    
    =sumifs(index($B2:$D,0,match(F1,$B1:$D1,0)),$A2:$A,">="&$A2,$A2:$A,"<="&$A5)