【问题标题】:Summing dynamic range of columns汇总列的动态范围
【发布时间】:2021-01-08 20:56:33
【问题描述】:

我正在尝试编写公式来汇总当用户选择下拉列表时最后一列动态变化的列的值。

这是示例数据截图:

这是摘要选项卡屏幕截图:

从下拉菜单中选择期间。 (选择时段时,它会改变单元格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

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

非常感谢您的帮助。

【问题讨论】:

    标签: excel indexing match sumifs


    【解决方案1】:

    如果您有带有 FILTER 和 SEQUENCE 函数的 O365,您可以使用:

    =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 将在公式栏中看到的公式周围放置大括号 {...}。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多