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

如何用QUERY函数筛选A:C中ColA与ColB匹配E:F行的记录

用QUERY函数实现双列匹配筛选的方法

要筛选A:C区域中同时满足A列、B列值与E:F某一行对应列完全匹配的行,可以用以下两种QUERY函数写法:

方法1:拼接列正则匹配法

适合数据中无特殊分隔符(如|)的场景,写法简洁:

=QUERY(A:C, "SELECT * WHERE (A&B) MATCHES '"&TEXTJOIN("|", TRUE, E:E&F:F)&"'", 1)

逻辑说明

  • 将A列与B列的值拼接成单个字符串,同时把E:F区域每行的E、F列也拼接成对应字符串
  • 用TEXTJOIN把所有E:F的拼接结果用|连接,构建正则匹配的候选集合
  • 通过MATCHES关键字筛选出A&B组合存在于候选集合中的行
  • 最后参数1表示表格包含表头,若没有表头请改为0

方法2:EXISTS子查询法

适合含特殊字符的场景,逻辑更严谨,避免拼接冲突:

=QUERY(A:C, "SELECT * WHERE EXISTS (SELECT * FROM E:F WHERE Col1 = A AND Col2 = B)", 1)

逻辑说明

  • 子查询遍历E:F区域,检查是否存在某一行的第一列(对应E列)等于当前行A列、第二列(对应F列)等于当前行B列
  • 只要子查询找到匹配行,当前行就会被保留
  • 同样,参数1需根据表头存在情况调整为0或1

注意事项

  • 建议限定E:F的具体范围(如E2:F100),避免匹配到空白行导致的错误结果
  • 若表头行内容与数据格式差异大,确保QUERY能正确识别表头

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 11:41:03