如何阻止Excel公式错误匹配字段返回True?附示例表格
解决Google Sheets球员位置字段的错误匹配问题
问题根源
原公式用SEARCH搭配通配符*时,*会匹配任意长度的字符,包括不同位置项之间的分隔内容。比如输入「M (L), AM (LR), ST (C)」替换括号后变成「M L, AM LR, ST C」:
- 搜索
"AM*C"时,*会匹配" LR, ST ",导致错误命中整个字符串 - 搜索
"M*C"时,*会匹配" L, AM LR, ST ",同样错误返回匹配成功
修正方案
方案1:直接用正则匹配原格式(推荐)
利用REGEXMATCH精准匹配单个位置项的格式,无需替换括号:
- 检查是否存在
AM (C)的公式:=IF(REGEXMATCH(C3, "AM\s*\(C\)"), "Yes", "No") - 检查是否存在
M (C)的公式:
说明:=IF(REGEXMATCH(C3, "M\s*\(C\)"), "Yes", "No")\s*匹配任意数量的空格,兼容「AM(C)」或「AM (C)」这类格式差异。
方案2:拆分位置项后匹配
先将每个位置拆分为独立项,再逐个检查是否符合规则:
- 检查
AM*C的公式:=IF(COUNTIF(SPLIT(SUBSTITUTE(SUBSTITUTE(C3,"(", ""),")",""), ", "), "AM*C") > 0, "Yes", "No") - 检查
M*C的公式:
说明:=IF(COUNTIF(SPLIT(SUBSTITUTE(SUBSTITUTE(C3,"(", ""),")",""), ", "), "M*C") > 0, "Yes", "No")SPLIT(..., ", ")将每个位置拆成单独条目,COUNTIF仅在单个条目内匹配*通配符,避免跨项错误匹配。
验证结果
对于输入「M (L), AM (LR), ST (C)」,两个修正后的公式都会返回No,符合预期。
内容的提问来源于stack exchange,提问作者Denash Subramaniam
相关产品推荐
相关产品推荐

