excel 中 if 函数实现多个条件判断,主要有两大思路,第一种是 if 函数多层嵌套,也就是在 if 的第三参数里面继续写新的 if,适合多等级分段判断,第二种是搭配 and 或者 or 函数把多个条件合并成一个总判断条件,and 代表全部条件同时满足,or 代表任意一个条件满足即可,很多新手写多条件 if 的时候,经常出现括号数量不匹配,条件顺序写反,还有文本没有加引号这类报错,就是没有理清多条件判断的逻辑,if 本身只支持单个逻辑判断表达式,想要同时判断两个甚至更多条件,就需要借助 and 或者 or 做条件合并,或者用嵌套 if 逐层判断,新版 excel 还可以使用 ifs 函数替代多层 if 嵌套,写法更加清爽,下面详细讲解语法,操作案例,嵌套写法,版本差异还有容易出错的细节。
函数基础语法回顾
if 逻辑判断 满足条件返回值 不满足条件返回值
if 函数一共三个参数,第一参数是判断表达式,第二参数是条件成立的结果,第三参数是条件不成立的结果,多条件的核心就是改造第一参数,或者在第三参数继续写入新的 if 判断。
方案一 搭配 and 函数 全部条件同时成立
and 函数作用就是把多个条件连接,所有条件全部满足,整体结果才是真,只要有一个条件不满足,整体就是假
基础公式格式
if and 条件 1 条件 2 条件 3 成立结果 不成立结果
实战案例
判断成绩大于等于 60,并且出勤率大于等于 90,满足就输出合格,否则输出不合格
公式 if and B2 大于等于 60 C2 大于等于 90 合格 不合格
适用场景 必须同时满足全部要求,比如综合审核,同时满足分数达标和考勤达标
方案二 搭配 or 函数 任意条件满足即可
or 函数是多个条件里面只要任意一个成立,整体判断结果就是真,全部都不成立才是假
基础公式格式
if or 条件 1 条件 2 条件 3 成立结果 不成立结果
实战案例 判断分数小于 60,或者旷课次数大于等于 3,满足任意一项就标记补考
公式 if or B2 小于 60 D2 大于等于 3 补考 正常
适用场景 只要触发任意一项规则就执行对应结果,比如异常预警,淘汰判定
方案三 if 多层嵌套 多等级分段判断
这个是多条件分级判断,不是同时判断,是按顺序一层一层判断,第一个条件不满足,就进入下一层 if 继续判断,适合等级划分,比如优秀 良好 及格 不及格
基础公式格式
if 条件 1 结果 1 if 条件 2 结果 2 if 条件 3 结果 3 默认结果
实战案例 分数大于等于 90 优秀,大于等于 80 良好,大于等于 60 及格,其余不及格
公式 if B2 大于等于 90 优秀 if B2 大于等于 80 良好 if B2 大于等于 60 及格 不及格
重点要点 嵌套判断顺序一定要从高到低或者从低到高,不能乱序,不然判断会提前命中,后面条件永远不会执行,旧版 excel 最多支持 64 层 if 嵌套,层数太多之后公式阅读维护难度会变大
方案四 新版 excel 替代方案 ifs 函数
excel365 2021 版本支持 ifs 函数,专门解决多层 if 嵌套繁琐的问题,不需要反复写 if 和括号
公式格式 ifs 条件 1 结果 1 条件 2 结果 2 条件 3 结果 3
同样是分数等级案例,ifs B2 大于等于 90 优秀 B2 大于等于 80 良好 B2 大于等于 60 及格 不及格
优点 不用多层嵌套括号,公式可读性更好,缺点 旧版 excel 不支持 ifs 函数,跨版本文件容易报错
and or if 嵌套组合 复杂多条件场景
可以把 and 和 or 组合在一起,实现混合逻辑,比如条件组里面一部分要同时满足,另一部分满足任意一项即可
示例逻辑 成绩大于等于 80,并且 是班长 或者 竞赛获奖,满足就输出评优
公式 if and B2 大于等于 80 or E2 等于是 F2 等于是 评优 不评优
这里一定要注意括号,and 里面嵌套 or,括号位置决定逻辑优先级,括号错了整个判断逻辑就变了
多条件 if 方案对比表
| 方案 | 逻辑特点 | 适用场景 | 缺点 |
|---|---|---|---|
| if 加 and | 所有条件同时满足 | 综合达标审核 | 只要一项不满足就判定失败 |
| if 加 or | 任意条件满足 | 异常预警触发 | 只要一项命中就触发结果 |
| if 多层嵌套 | 逐级分段判断 | 等级分类评级 | 层数多括号容易出错 |
| ifs 函数 | 多条件顺序判断 | 新版分级判断 | 旧版 excel 不兼容 |
重要注意事项
1 文本类返回值还有等于文字的判断,文字内容必须加上英文双引号,不加引号 excel 会识别成名称报错
2 比较运算符大于小于大于等于小于等于,全部使用英文符号,中文符号会直接公式报错
3 嵌套 if 的时候,每一层 if 都要配套对应的右括号,括号数量一定要匹配,这是新手最高频错误
4 多条件判断里面,如果单元格是空值,and 会把空值当成 false,判断的时候要提前考虑空单元格情况,可以搭配 isblank 做额外判断
5 不要混淆 and 和 or 逻辑,很多人想写同时满足,错误写成 or,导致判断结果不符合预期
6 跨工作表引用,或者数据源变动之后,多条件 if 公式不会自动失效,但是条件单元格修改之后,结果会自动刷新
【常见问题】
问题 1 excel 中 if 函数可以怎么使用多个条件,写多层嵌套之后提示括号不匹配怎么办
回答 1 excel 中 if 函数可以怎么使用多个条件,多层嵌套报错括号不匹配,是因为每一层 if 都需要对应的闭合右括号,书写 excel 中 if 函数可以怎么使用多个条件的嵌套公式时,建议写完一层就补上对应的括号,也可以用新版 ifs 函数替代多层嵌套,减少括号数量,解决 excel 中 if 函数可以怎么使用多个条件带来的括号错误
问题 2 excel 中 if 函数可以怎么使用多个条件,and 和 or 能不能一起放在同一个 if 里面
回答 2 excel 中 if 函数可以怎么使用多个条件,and 和 or 是可以组合嵌套在同一个 if 第一参数里面,书写 excel 中 if 函数可以怎么使用多个条件混合逻辑的时候,一定要用括号区分逻辑优先级,区分哪部分条件是同时满足,哪部分是任意满足,否则 excel 中 if 函数可以怎么使用多个条件的判断结果会出错
问题 3 excel 中 if 函数可以怎么使用多个条件,旧版 excel 能不能使用 ifs 函数
回答 3 excel 中 if 函数可以怎么使用多个条件,旧版 excel 不支持 ifs 函数,旧版本想要实现多等级判断,只能继续使用多层 if 嵌套方案,使用 excel 中 if 函数可以怎么使用多个条件的时候,要提前确认 excel 版本,避免文件发给别人打开之后 excel 中 if 函数可以怎么使用多个条件的公式报名称错误
问题 4 excel 中 if 函数可以怎么使用多个条件,为什么条件都满足但是返回不成立结果
回答 4 excel 中 if 函数可以怎么使用多个条件,全部条件满足却返回不成立,大概率是单元格里面是文本型数字,表面看起来是数字,实际是文本格式,and 判断的时候识别失败,使用 excel 中 if 函数可以怎么使用多个条件之前,要检查数据源格式,把文本数字转为数值格式,excel 中 if 函数可以怎么使用多个条件的判断才能正常运行
【免责申明】
本文操作基于微软 excel 常规版本演示,新版 excel 和旧版 excel 函数支持能力存在差异,ifs 函数仅高版本可用,本文仅作为函数学习参考,不承担因公式逻辑错误造成业务判断失误相关责任。


