我正在尝试编写公式以求和列的值,当用户选择下拉列表时,最后一列会动态变化。
这是示例数据屏幕截图:
这是“摘要”标签的屏幕截图:
期间是从下拉菜单中选择的。 (选择“期间”时,它会更改单元格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
非常感谢您的帮助。
答案 0 :(得分:0)
如果您的O365具有FILTER
和SEQUENCE
功能,则可以使用:
=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,$B$5,data!$B:$B,D4)))),
TRANSPOSE(ROW(INDEX($A:$A,1):INDEX($A:$A,
MATCH($B$2,data!$D$1:$K$1))))))
可能需要通过按住 ctrl + shift 并同时按 enter键来将后一个公式确认为数组公式 。如果正确执行此操作,Excel会将括号{...}
放在在公式栏中看到的公式周围。