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

如何将含起止日期的任务表转换为单人单行路线图视图?

实现任务路线图视图(按负责人分组)

1. 搭建基础结构

生成日期表头

先把覆盖所有任务的连续日期作为横向表头,比如在第一行(B1起)生成从最早任务开始日到最晚任务截止日的日期序列:

=SEQUENCE(1, DATEDIF(MIN(Sheet1!C2:C21), MAX(Sheet1!D2:D21), "D")+1, MIN(Sheet1!C2:C21), 1)

生成去重负责人列表

在A列(A2起)生成唯一的负责人名单:

=UNIQUE(Sheet1!A2:A21)

2. 匹配任务到对应日期单元格

要让任务名称精准显示在其开始日期对应的列,在B2单元格(对应第一个负责人的第一个日期列)输入公式,然后横向、纵向拖曳填充整个区域:

=IFERROR(TEXTJOIN(", ", TRUE, FILTER(Sheet1!$B:$B, (Sheet1!$A:$A=$A2)*(Sheet1!$C:$C=B$1))), "")

这个公式会自动筛选出当前负责人、当前日期对应的所有任务,多个任务用逗号分隔显示,无匹配则留空。

3. 条件格式标记任务持续期

给任务从开始到截止的所有单元格设置高亮:

  1. 选中路线图的所有数据区域(比如B2到最后一行最后一列)
  2. 打开「条件格式」→「新建规则」→「使用公式确定要设置格式的单元格」
  3. 输入触发公式:
=COUNTIFS(Sheet1!$A:$A, $A2, Sheet1!$C:$C, "<="&B$1, Sheet1!$D:$D, ">="&B$1) > 0
  1. 设置你需要的格式(比如背景填充色),确认即可。

动态生成完整路线图(可选)

用数组公式一次性生成负责人列、日期表头和任务匹配区域,无需手动拖曳:

=LET(
  owners, UNIQUE(Sheet1!A2:A21),
  dates, SEQUENCE(1, DATEDIF(MIN(Sheet1!C2:C21), MAX(Sheet1!D2:D21), "D")+1, MIN(Sheet1!C2:C21), 1),
  task_map, BYROW(owners, LAMBDA(owner, BYCOL(dates, LAMBDA(date, IFERROR(TEXTJOIN(", ", TRUE, FILTER(Sheet1!B2:B21, (Sheet1!A2:A21=owner)*(Sheet1!C2:C21=date))), "")))),
  HSTACK(owners, task_map)
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 04:35:40