Excel两列条件校验公式失效,请求正确公式实现方案
解决Excel条件公式的问题
我来帮你捋清楚这个公式的问题,先看看你原公式里的几个关键错误:
- Excel里的逻辑与运算必须用
AND()函数包裹条件,不能直接写AND关键词(你原公式里直接用$A1="0%" AND $B1<>"Non-Domestic"是语法错误) - 嵌套IF的括号不匹配,而且条件逻辑和你需求的对应关系有偏差
- 注意你用的是逗号作为百分比的小数分隔符(
0,00%),原公式里写的"0%"会匹配不上;另外更可靠的方式是直接判断数值($A1=0),因为Excel里的百分比本质是数值(0,00%对应数值0),避免格式显示的问题
正确的公式(适配欧洲地区Excel分号分隔符)
根据你的需求,整理后的正确公式如下:
=IF(AND($A1=0; $B1="Domestic"); "B is BAD"; IF(AND($A1<>0; $B1="Domestic"); "A is BAD"; IF(AND($A1<>0; $B1<>"Domestic"); "A y B are BAD"; "")))
如果你的A列是文本格式的百分比(不是数值格式),就把判断条件换成文本匹配:
=IF(AND($A1="0,00%"; $B1="Domestic"); "B is BAD"; IF(AND($A1<>"0,00%"; $B1="Domestic"); "A is BAD"; IF(AND($A1<>"0,00%"; $B1<>"Domestic"); "A y B are BAD"; "")))
公式逻辑拆解
- 第一层
IF:同时满足A列值为0(或0,00%)且B列是"Domestic",返回B is BAD - 第二层
IF:如果第一层不满足,判断A列非0且B列是"Domestic",返回A is BAD - 第三层
IF:如果前两层都不满足,判断A列非0且B列非"Domestic",返回A y B are BAD - 最后的空字符串
""用来处理你需求里没提到的情况(比如A列是0且B列非Domestic),你可以根据需要改成其他内容
适配北美地区Excel
如果你的Excel用逗号作为参数分隔符,只需要把公式里的分号;换成逗号,即可。
内容的提问来源于stack exchange,提问作者drjja
相关产品推荐
相关产品推荐

