求支持特殊字符的Arrayformula:检测列是否包含指定子串(不区分大小写)
支持特殊字符与不区分大小写的ArrayFormula子串检测方案
直接使用以下公式即可满足需求:
=ARRAYFORMULA({"Contains Filter View"; IF(REGEXMATCH($F$6:$F, "(?i)"®EXREPLACE($F$4, "([\[\]\(\)\{\}\.\*\+\?\^\$\|\\])", "\\$1")), TRUE, "")})
关键修正点说明:
- 特殊字符转义:原公式失效是因为
REGEXMATCH将括号、点号这类字符视为正则语法符号,而非普通文本。通过REGEXREPLACE把输入字符串中的所有正则特殊字符(包括()[]{}.*+?^$|\)前添加反斜杠,让正则引擎将其当作普通字符匹配。 - 不区分大小写:在正则模式开头添加
(?i)标记,无需额外转换文本大小写即可实现大小写不敏感匹配。 - 数组批量处理:保留
ARRAYFORMULA实现整列批量检测,表头部分保持原格式不变。
内容的提问来源于stack exchange,提问作者William Toscano
相关产品推荐
相关产品推荐

