Excel多条件IF/AND/OR公式编写求助:合规性状态判断
Excel多条件判断公式实现(COMPLIANT/NON COMPLIANT输出)
直接用以下公式即可实现你需要的逻辑,将公式输入到AF列的第一个单元格(比如AF1),然后下拉填充到整列:
=IF(OR(AG1={"P","V-ZVG","V-NUK","APP 2"," SD"},AND(X1="Onsite",Y1<>"STAFF"),AND(X1="Offsite",OR(Y1={"SE","SU","DE"})),OR(ISNA(Y1),Y1="0")), "COMPLIANT", "NON COMPLIANT")
公式逻辑拆解
公式采用先判断所有合规条件,再输出不合规的逻辑,完全对应你的规则:
- 规则1匹配:
AG1={"P","V-ZVG","V-NUK","APP 2"," SD"}用数组直接判断AG列值是否在指定合规列表中,OR函数确保只要符合其中一个值即触发合规。 - 规则2匹配:
AND(X1="Onsite",Y1<>"STAFF")同时满足X为Onsite且Y不等于STAFF,AND函数保证两个条件必须同时成立。 - 规则3匹配:
AND(X1="Offsite",OR(Y1={"SE","SU","DE"}))X为Offsite且Y是SE/SU/DE中的任意一个,OR包裹Y的合规值列表。 - 规则4匹配:
OR(ISNA(Y1),Y1="0")处理Y列的两种情况:公式返回的错误值#N/A(用ISNA判断)或文本型"0";如果Y是数字0,将Y1="0"改为Y1=0即可。 - 规则5及其他情况:只要不满足上述任意合规条件,直接输出NON COMPLIANT,包含你指定的X=Offsite且Y为ONSITE-EXT/EXT OP的情况,以及所有未明确的边缘场景。
注意事项
- 单元格引用:公式中的AG1、X1、Y1对应当前行的单元格,下拉时会自动适配每行数据。
- 大小写与空格:确保公式中的文本(如"Onsite"、" SD")与列中实际值的大小写、空格完全一致,否则会匹配失败;若需严格区分大小写,可改用
EXACT(X1,"Onsite")替代X1="Onsite"。 - N/A类型:如果Y列的N/A是手动输入的文本(如"N/A"),将
ISNA(Y1)改为Y1="N/A"即可。
内容的提问来源于stack exchange,提问作者ranv
相关产品推荐
相关产品推荐

