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

父任务子任务工时统计:按成员汇总多子任务工时问题

按成员汇总父任务子任务工时的Google Sheets解决方案

需求回顾

现有任务列表包含Parent Key(子任务专属)、Key、Task Name、Task Type、Assigned Person、Time列,需生成不含子任务的统计列表:

  • 无子任务的任务:直接取自身Time值
  • 有子任务的任务:按成员汇总其在该父任务下所有子任务的Time总和,不计父任务自身耗时
  • 同一成员负责同一父任务多个子任务时,累加对应工时

分步实现方案

1. 汇总有子任务的父任务+成员工时

先提取所有子任务对应的父任务与成员的唯一组合,再计算对应工时总和:

  • 提取唯一组合:

    =UNIQUE(FILTER({A:A, E:E}, A:A<>""))
    

    (A列为Parent Key,E列为Assigned Person,筛选非空的子任务关联关系并去重)

  • 计算对应总工时:
    对每个父任务Key和成员,用SUMIFS求和:

    =SUMIFS(F:F, A:A, 父任务Key单元格, E:E, 成员名称单元格)
    

    (F列为Time,匹配父任务Key和成员,累加对应子任务工时)

  • 匹配父任务名称:
    用VLOOKUP关联父任务的Task Name:

    =VLOOKUP(父任务Key单元格, B:C, 2, FALSE)
    

    (B列为父任务Key,C列为Task Name)

2. 筛选无子任务的任务

提取Key未出现在Parent Key列中的任务(即无下属子任务):

=FILTER(B:F, ISNA(MATCH(B:B, A:A, 0)))

(B列为任务Key,A列为Parent Key,匹配不到的即为无子任务的任务,直接保留其Key、Task Name、Assigned Person、Time)

3. 合并结果(一键式QUERY方案)

用QUERY函数一次性完成分组汇总、筛选和合并,更高效:

=QUERY(
  {
    -- 分组汇总子任务工时
    QUERY(A:F, "SELECT A, C, E, SUM(F) WHERE A <> '' GROUP BY A, C, E LABEL A '任务Key', C '任务名称', E '负责人', SUM(F) '总工时'"),
    -- 筛选无子任务的任务
    QUERY(B:F, "SELECT B, C, E, F WHERE NOT B MATCHES '"&TEXTJOIN("|", TRUE, FILTER(A:A, A:A<>""))&"' LABEL B '任务Key', C '任务名称', E '负责人', F '总工时'")
  },
  "SELECT * WHERE Col1 IS NOT NULL",
  1
)

注意事项

  • 确保Parent Key与父任务Key的格式完全一致(如文本/数字格式),避免匹配失败
  • 空白的Time值会被自动忽略,无需额外处理
  • 如需排序,可在最终QUERY语句末尾追加 ORDER BY Col1, Col3,按任务Key和负责人排序

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 11:35:20