Excel自定义通配符规则多条件IF判断公式写法求助
正确Excel公式及说明
核心逻辑说明
你自定义的通配符规则无法直接用Excel原生通配符匹配(原生*默认匹配任意长度字符),因此我们需要拆分每个匹配模式的判断条件:
FA*FR*匹配要求:总长度为8,前2位为FA,第5-6位为FR(中间2位、末尾2位为任意字符,对应两个*的匹配规则)*DK匹配要求:总长度为8,最后2位为DK(开头6位为任意字符,对应开头*的匹配规则)
通用兼容版本公式(所有Excel版本可用)
=IF(OR(AND(OR(K3="4 x 4",K3="A4"),LEN(L3)=8,LEFT(L3,2)="FA",MID(L3,5,2)="FR"),AND(LEN(L3)=8,RIGHT(L3,2)="DK")),"0","1")
简化版本公式(支持LET函数的Excel 365/2021及以上版本可用)
=LET(len_L,LEN(L3),IF(OR(AND(OR(K3="4 x 4",K3="A4"),len_L=8,LEFT(L3,2)="FA",MID(L3,5,2)="FR"),AND(len_L=8,RIGHT(L3,2)="DK")),"0","1"))
原公式错误原因
- 误用Excel默认通配符规则,原生
*的匹配逻辑和你自定义的规则不符 - 函数语法错误:
OR函数的所有判断条件需要放在同一对括号内,你之前的写法把部分AND条件放到了OR的括号外,导致逻辑判断失效
内容的提问来源于stack exchange,提问作者aye cee
相关产品推荐
相关产品推荐

