You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按任务条件对多行的当前及后续月份列进行动态求和

高效实现任务跨月份累计工时求和方案

针对你需要统计各任务在指定月份及后续所有月份的总计划工时(不区分用户)的需求,以下提供两种无需冗余辅助列、易维护的Excel公式方案,适配不同版本:

假设数据源结构

先明确基础区域定义(可根据实际表格调整):

  • 数据源:任务列$B$2:$B$100,月份表头$C$1:$AF$1(36个月份),工时数据$C$2:$AF$100
  • 统计表格:任务列$H$2:$H$20(需统计的任务清单),月份表头$I$1:$AP$1(对应36个月份)

方案1:Excel 365/2021 动态数组(一键自动填充)

在统计表格的首个数据单元格(如I2)输入以下公式,回车后公式会自动溢出填充所有任务行和月份列:

=BYROW($H$2:$H$20,LAMBDA(task,
    BYCOL($I$1:$AP$1,LAMBDA(month,
        SUM(FILTER($C$2:$AF$100, $B$2:$B$100=task, 0)*($C$1:$AF$1>=month))
    ))
))

逻辑说明

  1. BYROW遍历统计表格的每个任务,BYCOL遍历每个统计月份
  2. FILTER筛选出当前任务的所有工时数据行
  3. 用$C$1:$AF$1>=month生成布尔数组,标记当前及后续月份的位置
  4. 筛选后的工时数组与布尔数组相乘,仅保留符合条件的工时,最后SUM累加所有用户的对应工时

方案2:兼容旧版Excel(2019及更早)的SUMPRODUCT方案

在统计表格的I2单元格输入公式,下拉填充所有任务行,右拉填充所有月份列:

=SUMPRODUCT(($B$2:$B$100=$H2)*($C$1:$AF$1>=I$1)*$C$2:$AF$100)

逻辑说明

  1. ($B$2:$B$100=$H2):匹配当前行的目标任务
  2. ($C$1:$AF$1>=I$1):匹配当前列及之后的月份
  3. 两个条件生成的布尔数组(符合条件为1,否则为0)与工时数据相乘,仅保留符合要求的工时,SUMPRODUCT自动累加所有结果

后续维护要点

  • 新增任务:只需在统计表格的任务列($H$2:$H$20)添加新任务名称,365版本公式自动扩展;旧版本下拉公式即可
  • 新增月份:在数据源添加新月份列后,更新公式中的区域范围(如将$AF$1改为新列标),365版本自动适配,旧版本右拉公式即可

内容的提问来源于stack exchange,提问作者J4N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 06:11:13