内容
切换
IF 函数多条件完整指南:AND/OR、IFS 和 FILTER 合一快速修复:3分钟剪发,多种护理为什么令人困惑?——逻辑的原则和优先级AND/OR真值表(简单)嵌套 IF、IFS 和 SWITCH实例1:奖励判断(AND+OR混合)具有结构参考(表格)的清洁器使用 LET 提高可维护性(365)实际示例 2:分数 → 等级(IFS 与嵌套 IF 与 SWITCH)IFS(最高可读性,365)嵌套 IF(一般情况下,通过注释/缩进来增强可读性)SWITCH(当它是一个“精确值”分支,而不是一个间隔时)365 高级:无需 IF 的简单组合使用 FILTER 仅提取满足条件的行LET + FILTER:可读性、性能和可管理性的三重冠冕替代方法/注意事项/清单故障排除总结和下一步建议
IF 函数多条件完整指南:AND/OR、IFS 和 FILTER 合一
IF函数多个条件如果你想干净利落地处理,请遵循本指南。前 3 分钟 快速修复它提供了立即适用的公式,然后是逻辑原理、实用表格示例、365 特定优化(LET/FILTER)、注意事项和 故障排除我一下子就把一切都安排好了。
快速修复:3分钟剪发,多种护理
同时满足所有人的需求如果你必须 AND采用 。
=IF(AND(A2="영업", B2>=80, C2="신규"), "보너스", "대상 아님")
至少满意一个如果你这样做,你就会通过 OR使用 。
=IF(OR(A2="VIP", B2>=100, C2="전략"), "우선 처리", "일반")
条件呈阶梯状(分数→等级)背面 IFS是最容易阅读的(建议 365)。
=IFS(B2>=90,"A", B2>=80,"B", B2>=70,"C", TRUE, "D")
优先顺序容易改变的政策如果是这样 LET提高了可读性/可管理性(365)。
=LET(점수,B2, 신규,(C2="신규"), IF(AND(점수>=85, 신규),"보너스","일반"))
活动: 中位数验证公式为 “公式”选项卡 > 公式检查器 > 公式求值 或部分选择后 F9请立即检查。
为什么令人困惑?——逻辑的原则和优先级
AND/OR真值表(简单)
AND:仅当所有条件都为 TRUE 时才为 TRUE
OR:如果任何条件为 TRUE,则为 TRUE
Excel 是 真=1,假=0 在很多情况下,它都是这样处理的。混合使用数字、文本和空值可能会导致意外的结果,因此比较运算符 (=, >, <=) 并指定空格/错误。 IFERROR, ISBLANK请按如下方式组织。
嵌套 IF、IFS 和 SWITCH
嵌套 IF:通用,但随着长度增加,可读性会降低,并且维护成本会增加。
国际金融中心(365):从上到下轻松读取多阶段条件
开关(365):当一个“键值”有多个情况时,它很整洁。
实例1:奖励判断(AND+OR混合)
很抱歉打扰你:在下表中 销售部尽管 评分≥85自我, 新品或者 战略如果是的话,就会支付“奖金”。
部门(A)分数(B)状态(C)奖金(D)
영업90新品
영업88일반
영업82战略
지원95新品
영업87战略
D2输入以下公式并复制下来:
=IF( AND(A2="영업", B2>=85, OR(C2="신규", C2="전략")), "보너스", "대상 아님")
预期结果
第 1 行:奖金(销售额∧90≥85∧(新∨策略))
第 2 行:不是目标(状态正常)
第 3 行:未针对(分数低于 82)
第 4 行:非针对性(部门支持)
第 5 行:奖金(销售额∧87≥85∧策略)
具有结构参考(表格)的清洁器
将范围转换为表格:选择数据范围→ 按Ctrl + T → 勾选“包含标题”。
=IF( AND([@부서]="영업", [@점수]>=85, OR([@상태]="신규", [@상태]="전략") ), "보너스","대상 아님")
使用 LET 提高可维护性(365)
=LET(
부서,[@부서],
점수,[@점수],
상태,[@상태],
IF(AND(부서="영업", 점수>=85, OR(상태="신규", 상태="전략")), "보너스","대상 아님")
)
实际示例 2:分数 → 等级(IFS 与嵌套 IF 与 SWITCH)
政策:90↑=A,80–89=B,70–79=C,其他D。
IFS(最高可读性,365)
=IFS(B2>=90,"A", B2>=80,"B", B2>=70,"C", TRUE,"D")
嵌套 IF(一般情况下,通过注释/缩进来增强可读性)
=IF(B2>=90,"A",
IF(B2>=80,"B",
IF(B2>=70,"C","D")))
SWITCH(当它是一个“精确值”分支,而不是一个间隔时)
=SWITCH(C2, "신규","N", "전략","S", "일반","G", "기타")
365 高级:无需 IF 的简单组合
使用 FILTER 仅提取满足条件的行
销量 & 评分≥85 & (新∨策略) 单独标签通过拉动进行监控:
=FILTER(A2:C100, (A2:A100="영업") * (B2:B100>=85) * ((C2:C100="신규")+(C2:C100="전략")) )
LET + FILTER:可读性、性能和可管理性的三重冠冕
=LET(
부서,A2:A100, 점수,B2:B100, 상태,C2:C100,
영업여부,(부서="영업"),
점수충족,(점수>=85),
상태충족,(상태="신규")+(상태="전략"),
FILTER(A2:C100, 영업여부*점수충족*상태충족)
)
替代方法/注意事项/清单
空白/拼写错误:比较前 TRIM, UPPER 以背部标准化。
错误安全网:最终 IF 之外 IFERROR( … , "" )保持输出的美观。
表(结构参考):对于范围不断扩大的报告来说至关重要。
公式评估(F9):选择部分范围/逻辑表达式后,按 F9 验证中位数。
政策变化 如果频繁: LET, IFS, SWITCH로 改变规则很容易 以的形式。
性能表现:尽量减少大体积的冗余计算(常用逻辑LET变量化),必要时手动调整计算选项。
故障排除
症状원인해결
条件满足,但“不符合资格”
空格/拼写错误/前导空格和尾随空格
TRIM, CLEAN 强制应用程序或数据有效性(列表)
发生了 #VALUE!/#N/A
混合数据类型,不匹配的参考范围
统一范围长度, IFERROR异常处理
公式太长,难以管理。
重叠的 IF 很普遍
IFS / SWITCH / LET重写为
复制时引用被破坏
混合绝对/相对引用
$ 使用固定或表结构引用
过滤报告很慢
多次重复计算
LET通用逻辑缓存,365 FILTER单次提取
总结和下一步建议
我今天学到了什么 IF函数多个条件“使用 AND/OR 指定逻辑做, 使用 IFS/LET/FILTER 实现可维护性和可读性“就是拉起来”。我推荐下面的文章作为下一个练习的主题。
VLOOKUP 多条件完整指南
XLOOKUP多条件练习
SUMIFS 高级过滤