我如何使用水平和垂直标准(包括日期)进行 SUMIF?
How can I SUMIF with horizontal and vertical criteria (including dates)?
我正在尝试 SUMIF
基于两个标准的数据:
- 列的标题(水平)
- 两个日期之间(垂直)
我尝试了很多功能来解决这个问题,但都无济于事。
我尝试过使用 Match、Index 和 Filter 功能,但我无法使该功能正常工作。
正如您在我的代码中看到的那样,我找到了一个解决方法,但它并不理想,因为它不使用 table header 来识别我正在寻找的数据值(参见下面产品 A 的示例功能)。
=SUMIFS(B:B,A:A,">="&A,A:A,"<="&A)
我希望有一个函数可以根据 table header 和日期动态获取我正在寻找的值。
感谢您提供的任何帮助。
=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))})
您还可以使用 index/match 到 select 范围的相关列(其中行参数中的零表示整个列):
=sumifs(index($B2:$D,0,match(F1,$B1:$D1,0)),$A2:$A,">="&$A2,$A2:$A,"<="&$A5)
My Data
需要摘要:
enter image description here
公式:=SUMIFS(INDIRECT("C"& MATCH(B15,$B$2:$B$10,0)+1 & ":" & "G"& MATCH(B15,$B$2:$ B$10,0)+1),$C$1:$G$1,">="&DATE(2022,2,1),$C$1:$G$1,"<="&DATE(2022,2,28) )
我正在尝试 SUMIF
基于两个标准的数据:
- 列的标题(水平)
- 两个日期之间(垂直)
我尝试了很多功能来解决这个问题,但都无济于事。
我尝试过使用 Match、Index 和 Filter 功能,但我无法使该功能正常工作。
正如您在我的代码中看到的那样,我找到了一个解决方法,但它并不理想,因为它不使用 table header 来识别我正在寻找的数据值(参见下面产品 A 的示例功能)。
=SUMIFS(B:B,A:A,">="&A,A:A,"<="&A)
我希望有一个函数可以根据 table header 和日期动态获取我正在寻找的值。
感谢您提供的任何帮助。
=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))})
您还可以使用 index/match 到 select 范围的相关列(其中行参数中的零表示整个列):
=sumifs(index($B2:$D,0,match(F1,$B1:$D1,0)),$A2:$A,">="&$A2,$A2:$A,"<="&$A5)
My Data
需要摘要: enter image description here
公式:=SUMIFS(INDIRECT("C"& MATCH(B15,$B$2:$B$10,0)+1 & ":" & "G"& MATCH(B15,$B$2:$ B$10,0)+1),$C$1:$G$1,">="&DATE(2022,2,1),$C$1:$G$1,"<="&DATE(2022,2,28) )