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

REGEXMATCH无法识别含X/E的尺码字符串问题求助

解决REGEXMATCH识别含X尺码的问题

问题根源

你的嵌套IF判断顺序出错了:你先判断了L,但XL、XXL这类尺码里都包含L,公式会优先匹配到L并返回结果,根本不会走到后面判断XL、XXL的分支,和字母X本身没有关系。你把X替换成E后没用,也是同样的道理——EL里的L还是会被先匹配到。

修正后的公式

把包含L的长尺码(比如XXXL、XXL、XL)放在单独的L判断前面,让公式先检查更长的尺码,再检查单字母的:

=IF(REGEXMATCH(A2,"XXXL"),"3XL",
 IF(REGEXMATCH(A2,"XXL"),"2XL",
 IF(REGEXMATCH(A2,"XL"),"XL",
 IF(REGEXMATCH(A2,"L"),"L",
 IF(REGEXMATCH(A2,"M"),"M",
 IF(REGEXMATCH(A2,"S"),"S",
 IF(REGEXMATCH(A2,"IVXL"),"4XL",
 IF(REGEXMATCH(A2,"VXL"),"5XL",""))))))))

注:你原公式里的lVXL应该是输入错误,这里改成了罗马数字4对应的IVXL,如果实际数据里是其他写法,你可以自行调整。

可选优化(避免误识别)

如果你的数据里尺码是独立的(不会和其他文字混在一起),可以给正则表达式加上边界匹配\b,这样只会匹配单独的尺码单词,不会误识别比如XXXLabc这类包含尺码的字符串:

=IF(REGEXMATCH(A2,"\bXXXL\b"),"3XL",
 IF(REGEXMATCH(A2,"\bXXL\b"),"2XL",
 IF(REGEXMATCH(A2,"\bXL\b"),"XL",
 IF(REGEXMATCH(A2,"\bL\b"),"L",
 IF(REGEXMATCH(A2,"\bM\b"),"M",
 IF(REGEXMATCH(A2,"\bS\b"),"S",
 IF(REGEXMATCH(A2,"\bIVXL\b"),"4XL",
 IF(REGEXMATCH(A2,"\bVXL\b"),"5XL",""))))))))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 05:22:44