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

基于时间戳与ID匹配行并提取文本单元格的Google Sheets问题

Google Sheets 多条件匹配提取非数字文本内容

需求说明

  • 数据源:Form1表单,每行对应一条表单响应,多数单元格为数字(如1),少量为文本内容
  • 目标:在Sheet1中,通过时间戳和UAS ID两个条件匹配Form1的对应行,提取该行所有非数字的文本内容(例如示例中的No logs或Not needed)

解决方案公式

直接在Sheet1的Remarks列(比如C2单元格)输入以下公式,下拉填充即可:

=TEXTJOIN(", ", TRUE, FILTER(INDEX(Form1!A:Z, MATCH(1, (Form1!A:A=Sheet1!A2)*(Form1!B:B=Sheet1!B2), 0), 1):INDEX(Form1!A:Z, MATCH(1, (Form1!A:A=Sheet1!A2)*(Form1!B:B=Sheet1!B2), 0), COLUMNS(Form1!A:Z)), ISTEXT(INDEX(Form1!A:Z, MATCH(1, (Form1!A:A=Sheet1!A2)*(Form1!B:B=Sheet1!B2), 0), 1):INDEX(Form1!A:Z, MATCH(1, (Form1!A:A=Sheet1!A2)*(Form1!B:B=Sheet1!B2), 0), COLUMNS(Form1!A:Z)))))

参数调整说明

  • 列对应关系:假设Form1中时间戳在A列,UAS ID在B列;Sheet1中时间戳在A2,UAS ID在B2,如果你的列位置不同,直接修改公式中对应的列引用即可
  • 数据源范围:公式中Form1!A:Z是Form1的数据源列范围,如果表单响应列更多,可改为Form1!A:ZZ之类的更大范围

公式拆解

  • MATCH(1, (Form1!A:A=Sheet1!A2)*(Form1!B:B=Sheet1!B2), 0):通过时间戳+UAS ID的组合条件,找到Form1中匹配的行号
  • INDEX(...):定位到匹配行的所有单元格区域
  • FILTER(..., ISTEXT(...)):从匹配行中筛选出所有文本类型的单元格(排除数字)
  • TEXTJOIN(", ", TRUE, ...):将筛选出的文本用逗号+空格拼接,TRUE表示自动忽略空值

示例效果

如果匹配到的Form1行中只有一个文本单元格No logs,公式直接返回No logs;如果有两个文本单元格No logs和Not needed,则返回No logs, Not needed

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 17:10:26