Excel SWITCH+TRUE+AND/OR:多条件判断,比 IF 嵌套更简单!

你是不是被 IF 嵌套搞到头晕?算绩效等级写IF(A2>90,"优秀",IF(A2>80,"良好",...)),嵌套 5 层就乱;多条件判断 “工龄≥5 年且业绩≥10 万”,公式写得比数据还长?

今天要安利的 “SWITCH+TRUE+AND/OR” 组合,堪称 Excel 的 “多条件判断神器”——TRUE 激活条件匹配,AND/OR 组合多条件,SWITCH 按顺序返回结果,不用嵌套,条理超清晰,比 IF 快 10 倍!

先看效果:从 “IF 嵌套” 到 “条理化判断”

没组合使用时,多条件判断像 “绕迷宫”,写错一个括号就全错:

需求

手动操作(麻烦到崩溃)

按 “工龄 + 业绩” 评员工等级

1. 写 IF 嵌套:IF(AND(A2≥5,B2≥10),"S级",IF(AND(A2≥3,B2≥8),"A级",...));2. 嵌套 4 层,括号配对到眼瞎

按 “分数范围” 定考试评级

1. 用 IF 逐段判断:IF(B2≥90,"优秀",IF(B2≥80,"良好",IF(B2≥60,"及格","不及格")));2. 改等级标准,得逐句改公式

用 SWITCH+TRUE+AND/OR 后,公式一输,逻辑超清晰:

需求

公式

结果(精准判断)

工龄 + 业绩评等级

=SWITCH (TRUE,AND (A2≥5,B2≥10),"S 级",AND (A2≥3,B2≥8),"A 级","B 级")

S 级 / A 级 / B 级

分数定考试评级

=SWITCH (TRUE,B2≥90,"优秀",B2≥80,"良好",B2≥60,"及格",TRUE,"不及格")

优秀 / 良好 / 及格 / 不及格

关键优势:条件按顺序排列,像 “列清单” 一样清晰;改条件不用动嵌套结构,直接增删行,再也不用数括号!

先搞懂基础:为什么要 “SWITCH+TRUE+AND/OR”?

三个函数分工配合,完美解决 “多条件判断” 难题:

  • TRUE:让 SWITCH 从 “匹配固定值” 变成 “匹配条件是否成立”(如判断 “B2≥90” 是否为 TRUE),相当于 “条件激活器”;
  • AND/OR:AND 判断 “多个条件同时成立”(如工龄≥5 且业绩≥10),OR 判断 “多个条件任一成立”(如工龄≥5 或业绩≥10),相当于 “多条件组合器”;
  • SWITCH:按顺序检查条件,第一个成立的条件对应结果,最后可加 “默认结果”(所有条件不成立时返回),相当于 “结果分配器”。

核心逻辑:
=SWITCH(TRUE, 条件1, 结果1, 条件2, 结果2, ..., 默认结果)
→ 先激活条件匹配,再按顺序判断条件,成立就返回对应结果,一步实现 “多条件 + 无嵌套” 判断!

3 个实战场景,覆盖工作 90% 需求

场景 1:员工绩效评级 —— 按 “工龄 + 业绩” 多条件判断

HR 要按 “工龄≥5 年且业绩≥10 万→S 级;工龄≥3 年且业绩≥8 万→A 级;其他→B 级” 评绩效,用 SWITCH+TRUE+AND:

数据源(A-B 列,工龄、业绩)

工龄(年,A 列)

业绩(万元,B 列)

6

12.5

4

7.8

3

8.2

2

9.5

公式:=SWITCH(TRUE,AND(A2>=5,B2>=10),"S级",AND(A2>=3,B2>=8),"A级",TRUE,"B级")

  • 条件 1:AND (A2>=5,B2>=10)→工龄≥5 且业绩≥10→成立返回 “S 级”;
  • 条件 2:AND (A2>=3,B2>=8)→工龄≥3 且业绩≥8→成立返回 “A 级”;
  • 默认结果:TRUE→所有条件不成立时返回 “B 级”。

工龄(A 列)

业绩(B 列)

公式

绩效等级(C 列)

6

12.5

=SWITCH (TRUE,AND (A2>=5,B2>=10),"S 级",AND (A2>=3,B2>=8),"A 级",TRUE,"B 级")

S 级

4

7.8

同上

B 级(业绩不足 8 万)

3

8.2

同上

A 级

2

9.5

同上

B 级(工龄不足 3 年)

亮点:条件像 “清单” 一样列出来,想加 “工龄≥8 年且业绩≥15 万→SS 级”,只需在条件 1 前加AND(A2>=8,B2>=15),"SS级",,不用改后续结构,超灵活!

场景 2:考试成绩评级 —— 按 “分数范围” 分段判断

老师要按 “分数≥90→优秀;80≤分数 < 90→良好;60≤分数 < 80→及格;分数 < 60→不及格” 定评级,用 SWITCH+TRUE:

数据源(A-B 列,姓名、分数)

姓名(A 列)

分数(B 列)

张三

92

李四

85

王五

58

赵六

76

公式:=SWITCH(TRUE,B2>=90,"优秀",B2>=80,"良好",B2>=60,"及格",TRUE,"不及格")

  • 按 “从高到低” 顺序判断:先看是否≥90,再看≥80(自动排除≥90 的情况),依次类推;
  • 不用写 “80<=B2<90”,因为前面条件已过滤高分数,逻辑更简洁。

姓名(A 列)

分数(B 列)

公式

成绩评级(C 列)

张三

92

=SWITCH (TRUE,B2>=90,"优秀",B2>=80,"良好",B2>=60,"及格",TRUE,"不及格")

优秀

李四

85

同上

良好

王五

58

同上

不及格

赵六

76

同上

及格

实用价值:改评级标准(如≥85→优秀),只需把 “B2>=90” 改成 “B2>=85”,不用动后续条件,比 IF 嵌套改起来快 5 倍!

场景 3:订单发货判断 —— 按 “库存 + 付款状态” 多条件组合

电商要按 “库存≥订单量且已付款→优先发货;库存≥订单量且未付款→待付款;库存 < 订单量→缺货” 判断发货状态,用 SWITCH+TRUE+AND/OR:

数据源(A-C 列,订单号、库存、付款状态)

订单号(A 列)

库存(B 列)

付款状态(C 列)

001

50

已付款

002

30

未付款

003

15

已付款

004

20

已付款

公式:=SWITCH(TRUE,AND(B2>=C2,C2="已付款"),"优先发货",AND(B2>=C2,C2="未付款"),"待付款",TRUE,"缺货")

  • 条件 1:AND (B2>=C2,C2="已付款")→库存够且已付款→优先发货;
  • 条件 2:AND (B2>=C2,C2="未付款")→库存够但未付款→待付款;
  • 默认结果:库存不够→缺货。

订单号(A 列)

库存(B 列)

付款状态(C 列)

公式

发货状态(D 列)

001

50

已付款

=SWITCH (TRUE,AND (B2>=C2,C2="已付款"),"优先发货",AND (B2>=C2,C2="未付款"),"待付款",TRUE,"缺货")

优先发货

002

30

未付款

同上

待付款

003

15

已付款

同上

缺货(库存不足)

004

20

已付款

同上

优先发货

管理优势:多条件逻辑清晰,运营看公式就知道判断规则,不用反复问 “为什么这个订单没发货”,沟通效率翻番!

避坑指南:这 3 个错误新手必犯

  1. 条件顺序写反,导致判断出错
    成绩评级写成SWITCH(TRUE,B2>=60,"及格",B2>=80,"良好",...)(先判断≥60,再判断≥80),会导致 85 分也被标 “及格”。记住:
    按 “从严格到宽松”“从高到低” 排序条件,先判断范围小的(如≥90),再判断范围大的(如≥80)。
  2. 漏加默认结果,条件不成立返回 #N/A
    只写SWITCH(TRUE,条件1,结果1,条件2,结果2),没加最后 “TRUE, 默认结果”,当所有条件不成立时,会返回错误值 #N/A。一定要加
    默认结果(如 TRUE,"其他"),覆盖所有情况。
  3. AND/OR 的条件写反,逻辑不成立
    想判断 “工龄≥5 且业绩≥10”,写成OR(A2>=5,B2>=10)(用 OR 代替 AND),会导致 “工龄 5 年但业绩 8 万” 也被标 “S 级”。记住:
    多个条件必须同时满足用 AND,任一满足用 OR,别混淆逻辑关系。

最后送 3 个万能公式模板

直接套用,效率拉满:

  1. 多条件等级判断(如工龄 + 业绩):=SWITCH(TRUE,AND(条件1列>=条件1,条件2列>=条件2),"结果1",AND(条件1列>=条件3,条件2列>=条件4),"结果2",TRUE,"默认结果")(如 = SWITCH (TRUE,AND (A2>=5,B2>=10),"S 级",AND (A2>=3,B2>=8),"A 级",TRUE,"B 级"))
  2. 分数范围评级:=SWITCH(TRUE,分数列>=90,"优秀",分数列>=80,"良好",分数列>=60,"及格",TRUE,"不及格")
  3. 库存 + 状态判断:=SWITCH(TRUE,AND(库存列>=订单量列,状态列="已付款"),"优先发货",AND(库存列>=订单量列,状态列="未付款"),"待付款",TRUE,"缺货")

现在打开你的 Excel,找一组需要多条件判断的数据试试这个组合,是不是瞬间觉得 “公式逻辑变清晰了”?不用再跟 IF 嵌套的括号较劲,条件像列清单一样简单,改规则、加条件都超方便,工作效率直接翻倍!

觉得有用的话,点赞收藏,转发给总在写 IF 嵌套的同事!你平时还遇到过哪些复杂的多条件判断难题?评论区告诉我,教你用这组函数解决!