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

如何用Google Sheets Query筛选未在主列表中出现的站点值?

解决Google Sheets中未录入位置的跟踪问题

问题根源

你用的matches依赖正则表达式,而位置名称里的括号(())属于正则特殊字符,会被解析为分组标记而非字面字符,导致已录入主列表的带括号位置无法被正确过滤。

解决方案1:转义正则特殊字符

修改原Query公式,对主列表中的位置名称做正则转义处理,让matches按字面匹配特殊字符:

=query('Site List'!A1:F,"Select A,B,C,D,E,F where F contains 'Active' and A <> '' and not A matches '"&Textjoin("|",TRUE,ARRAYFORMULA(REGEXREPLACE(Master!A1:A,"([\\^$.*+?()|\\[\\]])","\\$1")))&"' order by A",1)
  • REGEXREPLACE会把位置名称中的正则元字符(如()、[]、^$等)用反斜杠转义,确保matches按字面匹配
  • ARRAYFORMULA让转义逻辑批量应用到主列表的所有位置名称

解决方案2:用FILTER替代Query(更简洁稳定)

避开正则表达式的问题,改用FILTER+MATCH组合实现需求:

=FILTER('Site List'!A1:F, 'Site List'!F:F="Active", 'Site List'!A:A<>"", ISNA(MATCH('Site List'!A:A, Master!A:A, 0)))
  • MATCH('Site List'!A:A, Master!A:A, 0):检查Site List的位置是否已在Master中存在,存在则返回位置索引,不存在返回#N/A
  • ISNA(...):筛选出未在Master中存在的位置
  • 同时保留Active状态和非空位置的过滤条件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 06:32:03