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

如何通过多条件从含重复表头的表格中提取数据?

Google Sheets 动态数据提取方案

需求明确

  • 数据源为Google表单生成的动态表格,支持新增姓名、颜色的行/列
  • 核心目标:匹配指定姓名+颜色组合,提取对应绿色单元格的值,需满足:
    • 排除红色单元格记录
    • 取该姓名对应日期列(B列)最大且非空的记录对应值
    • 覆盖所有姓名/颜色组合,自动填充到目标表格

解决方案

方法1:数组公式+XLOOKUP(推荐,全动态适配)

在目标表格的首个结果单元格(如D2)输入以下公式,自动填充整列/整表:

=ARRAYFORMULA(IFERROR(XLOOKUP(ROW(A2:A)&C2:C, SORT(FILTER({ROW('数据源'!A:A)&'数据源'!C:C, '数据源'!B:B, '数据源'!D:D}, '数据源'!D:D<>"", NOT(REGEXMATCH('数据源'!D:D, "红色"))), 2, FALSE), 3, "")))

逻辑说明:

  1. FILTER 筛选出非空、非红色的有效记录,同时拼接「行号+颜色」作为唯一匹配键
  2. SORT 按日期列(B列)降序排序,确保同姓名+颜色组合的最新记录排在最前
  3. XLOOKUP 匹配目标表格的「姓名行号+颜色」键,返回对应绿色值
  4. ARRAYFORMULA 自动适配动态新增的姓名/颜色,无需手动下拉

方法2:QUERY函数+VLOOKUP(简洁易读)

在目标单元格输入公式,可套ARRAYFORMULA实现动态填充:

=ARRAYFORMULA(IFERROR(VLOOKUP(A2:A&C2:C, QUERY('数据源'!A:D, "select A,C,D where D is not null and D != '红色' order by B desc", 1), 3, FALSE), ""))

逻辑说明:

  1. QUERY 先筛选有效记录,并按日期降序排序,确保每个姓名+颜色组合的第一条是最新记录
  2. VLOOKUP 通过拼接「姓名+颜色」作为匹配键,快速定位对应值

方法3:辅助表方案(新手友好)

  1. 新建辅助表,提取唯一姓名和颜色:
    • A1单元格:=UNIQUE(FILTER('数据源'!A:A, '数据源'!A:A<>""))(提取所有非空姓名)
    • B1单元格:=UNIQUE(FILTER('数据源'!C:C, '数据源'!C:C<>""))(提取所有非空颜色)
  2. 在交叉单元格(如C2)输入公式,横拉竖拉填充:
=IFERROR(INDEX('数据源'!D:D, MAX(FILTER('数据源'!ROW(D:D), '数据源'!A:A=$A2, '数据源'!C:C=B$1, '数据源'!D:D<>"", '数据源'!D:D<>"红色"))), "")
  1. 直接引用辅助表的结果到目标表格即可

注意事项

  • 确保数据源的列对应正确:B列为日期、D列为颜色值(绿色/红色)
  • 若颜色文本存在大小写差异,可添加LOWER()统一处理,例如LOWER('数据源'!D:D)<>"红色"
  • 所有方案均支持动态新增姓名/颜色,无需手动调整公式范围

内容的提问来源于stack exchange,提问作者d-ron

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 14:36:59