IF 函数多条件完整指南:AND/OR、IFS 和 FILTER 合一

内容

切换

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 高级过滤


TOP