汇总列的动态范围

问题描述

我正在尝试编写公式以求和列的值,当用户选择下拉列表时,最后一列会动态变化。

这是示例数据屏幕截图:

enter image description here

这是“摘要标签的屏幕截图:

enter image description here

期间是从下拉菜单中选择的。 (选择“期间”时,它会更改单元格F3) 班级也是从下拉菜单中选择的。

我在单元格F4中的SUMIF是: =SUMIFS(INDEX(data!$D:$K,MATCH($B$2,data!$D$1:$K$1,0)),data!$B:$B,$D4,data!$A:$A,$B$5)

我现在想要实现的是计算周期P1到所选周期之和。例如P4

我已将测试电子表格上传到Google驱动器https://drive.google.com/file/d/1NczIxxIXGVdAIpTfOTr7ys8BCOFh_RJj/view?usp=sharing

非常感谢您的帮助。

解决方法

如果您的O365具有FILTERSEQUENCE功能,则可以使用:

=SUM(INDEX(
             FILTER(data!$D:$K,(data!$B:$B=$D4)*
                      (data!$A:$A=$B$5)),SEQUENCE(COUNTIFS(data!$A:$A,$B$5,data!$B:$B,$D4)),SEQUENCE(,MATCH($B$2,data!$D$1:$K$1,0))))

如果您使用的是早期版本的Excel,请尝试:


=SUM(
     INDEX(data!$D:$K,AGGREGATE(15,6,1/((data!$B:$B=D4)*(data!$A:$A=$B$5))*ROW($A:$A),ROW(INDEX($A:$A,1):INDEX($A:$A,COUNTIFS(data!$A:$A,D4)))),TRANSPOSE(ROW(INDEX($A:$A,data!$D$1:$K$1))))))

可能需要通过按住 ctrl + shift 并同时按 enter键来将后一个公式确认为数组公式 。如果正确执行此操作,Excel会将括号{...}放在在公式栏中看到的公式周围。

enter image description here