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

Google Sheets如何按条件提取首个匹配行数据自动填充项目分析表

Google Sheets 双表自动填充实现方案

前提假设:project analysis表A列为项目名称,数据从A2行开始,B列存项目全局开始日期,C列存项目首个完成阶段的结束日期;raw sheet表A列为项目名称(Projects)、B列为阶段开始日期(start date)、C列为阶段结束日期(end date)、D列为阶段状态(status),阶段数据从第2行开始存储。

1. 自动填充全局开始日期

在project analysis表B2单元格输入以下公式,下拉填充所有项目行即可:

=XLOOKUP(A2, 'raw sheet'!A:A, 'raw sheet'!B:B, "无匹配项目", 0, 1)

公式逻辑:按从上到下的顺序匹配raw sheet中第一个和当前项目名一致的记录,返回对应阶段的开始日期,刚好符合「取项目第一条记录开始日期」的规则。
如果使用的是不支持XLOOKUP的旧版本Google Sheets,可替换为INDEX+MATCH组合:

=INDEX('raw sheet'!B:B, MATCH(A2, 'raw sheet'!A:A, 0))

2. 自动填充首个完成阶段的结束日期

在project analysis表C2单元格输入以下公式,下拉填充所有项目行即可:

=XLOOKUP(1, ('raw sheet'!A:A=A2)*('raw sheet'!D:D="Done"), 'raw sheet'!C:C, "无已完成阶段", 0, 1)

公式逻辑:多条件匹配raw sheet中第一个项目名一致、且状态为Done的记录,返回对应阶段的结束日期,逻辑会自动处理项目还没有完成阶段的情况,返回自定义提示。
也可以用FILTER+INDEX组合实现相同效果:

=IFERROR(INDEX(FILTER('raw sheet'!C:C, 'raw sheet'!A:A=A2, 'raw sheet'!D:D="Done"),1), "无已完成阶段")

可选:整列自动填充无需手动下拉

如果不想每次新增项目都手动下拉公式,可以把公式套入ARRAYFORMULA放在表头行,实现整列自动匹配:

  • B1(全局开始日期表头单元格)公式:
=ARRAYFORMULA(IF(A:A="",,IF(A:A="此处替换为你A列的项目表头文字", "start date", XLOOKUP(A:A, 'raw sheet'!A:A, 'raw sheet'!B:B, "无匹配项目", 0, 1))))
  • C1(结束日期表头单元格)公式:
=ARRAYFORMULA(IF(A:A="",,IF(A:A="此处替换为你A列的项目表头文字", "end date", XLOOKUP(A:A&"Done", 'raw sheet'!A:A&'raw sheet'!D:D, 'raw sheet'!C:C, "无已完成阶段", 0, 1))))

注意事项

  • 公式中的工作表名、列范围如果和你实际表格设置不一致,请对应修改
  • 如果公式返回数字不显示日期,选中对应列后点击顶部菜单栏「格式」→「数字」→「日期」即可调整显示格式
  • 如果raw sheet数据量超过10万行,建议把整列引用(比如A:A)替换为实际数据范围(比如A2:A10000),提升公式运行速度

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 00:12:04