Google Sheets如何自动提取各人员当前执行的任务?
提取人员当前执行任务的Google Sheets函数方案
方案一:直接筛选当前任务行(保留原表结构)
如果你的任务分配表结构是「姓名、任务名称、开始日期、结束日期」(表头在第1行,数据从第2行开始),在新表的A2单元格输入以下公式,就能自动提取所有结束日期为空的当前任务:
=QUERY('任务分配表'!A:D, "SELECT A,B,C WHERE D IS NULL", 1)
- 逻辑:
QUERY函数直接筛选出D列(结束日期)为空的行,返回姓名、任务、开始日期三列;最后一个参数1表示原数据包含表头,会自动同步到新表。 - 适配调整:如果你的列位置不同,比如结束日期在E列,把公式里的
D改成E即可。
方案二:合并同一人的多个当前任务
如果需要把同一人的所有当前任务合并到一行显示(避免重复姓名),分两步操作:
- 提取有当前任务的不重复姓名:在新表A2单元格输入
=UNIQUE(FILTER('任务分配表'!A:A, '任务分配表'!D:D=""))
- 合并对应任务:在新表B2单元格输入,下拉填充即可
=TEXTJOIN("、", TRUE, FILTER('任务分配表'!B:B, '任务分配表'!A:A=A2, '任务分配表'!D:D=""))
- 逻辑:
FILTER筛选出对应姓名且结束日期为空的任务,TEXTJOIN用顿号(可改成其他分隔符)合并多个任务,TRUE参数会自动忽略空值。
关于你之前的尝试说明
FIND/SEARCH是文本匹配函数,不适合这种结构化的数据筛选场景;QUERY是更高效的方案,不需要手动计算单元格索引,能自动处理一人多任务的情况——不管某个人有多少个当前任务,都会被正确筛选或合并。
内容的提问来源于stack exchange,提问作者yherla
相关产品推荐
相关产品推荐

