Google Sheets含通配符的多值条件过滤问题求助
解决UTM参数筛选的正则匹配问题
问题根源
你之前的公式失效有两个核心原因:
- 筛选自定义公式里用整列
C:C会触发范围错误,筛选是逐行判断的,必须引用当前行的单元格(比如C2,假设表头在第1行) - 正则表达式里的
**是错误写法,正则中匹配任意数量任意字符应该用.*,而非**
可行解决方法
方法1:修正自定义筛选公式(推荐)
直接在C列的自定义筛选框中输入以下公式:
=REGEXMATCH(C2, "bi_|fb_.*_var_di_|_se_|media_|zb_")
- 逻辑说明:用
|把多个匹配规则合并成一个正则表达式,REGEXMATCH会判断当前行C列单元格是否包含任意一个规则 fb_.*_var_di_中的.*会匹配fb_和_var_di_之间的任意字符(包括多个字符),替代你原来的**通配符- 注意:如果你的数据表头不在第1行,把
C2改成数据起始行的单元格(比如C3)
操作步骤:
- 保持C列筛选开启,点击列标题右侧三角
- 选择「按条件筛选」→「自定义公式」
- 粘贴上述公式,点击确定即可完成筛选
方法2:辅助列兜底法(适用于自定义筛选受限场景)
如果自定义公式仍然有问题,可以用辅助列实现:
- 在空白列(比如D列)的第2行输入公式:
=REGEXMATCH(C2, "bi_|fb_.*_var_di_|_se_|media_|zb_")
- 下拉填充公式到所有数据行,符合条件的行会显示
TRUE,不符合的显示FALSE - 筛选D列的
TRUE值,即可得到目标数据
内容的提问来源于stack exchange,提问作者Sean
相关产品推荐
相关产品推荐

