如何使用水平和垂直条件(包括日期)来求和?

时间:2019-05-15 19:20:12

标签: google-sheets matrix-multiplication array-formulas google-sheets-formula

我正在尝试基于两个条件SUMIF进行数据:

  1. 列标题(水平)
  2. 在两个日期之间(垂直)

我尝试了许多功能来解决此问题,但无济于事。

0

我已经尝试过使用Match,Index和Filter函数,但是我无法使该函数正常工作。

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

=SUMIFS(B:B,A:A,">="&A$2,A:A,"<="&A$5)

我希望有一个可以根据表头和日期动态获取我要查找的值的函数。

感谢您提供的任何帮助。

2 个答案:

答案 0 :(得分:1)

=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))})

0

答案 1 :(得分:0)

您还可以使用索引/匹配来选择范围的相关列(其中row参数中的零表示整个列):

=sumifs(index($B2:$D,0,match(F1,$B1:$D1,0)),$A2:$A,">="&$A2,$A2:$A,"<="&$A5)

enter image description here