使用 SWITCH 选择匹配分支
使用 SWITCH 将输入映射到多个结果之一
使用 SWITCH 选择匹配分支 是 CoddyKit 上的免费 Excel Formulas Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Excel Formulas Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Excel Formulas Academy 课程共包含 4 节课。
SWITCH 的作用
当您要将一个值与一系列精确的可能值进行比较时,嵌套 IF 会显得重复。您需要一遍又一遍地输入同一个单元格引用。
SWITCH 函数可以解决这个问题。您只需指定一次该值,然后将每个可能的匹配项与其应产生的结果列在一起。它读起来就像写在单个公式中的简洁查找表。
SWITCH 的语法
结构为:SWITCH(expression, value1, result1, value2, result2, ..., default)。
- expression 是您要评估的对象,通常是一个单元格。
- 然后将每个可能的值与其结果配对。
- 末尾可选的默认值会处理所有不匹配的情况。
这些值成对出现,最后可以单独放置一个默认值。
=SWITCH(A2, "N", "North", "S", "South", "Unknown")第一个示例
假设单元格 A2 中有一个 1 到 7 的日期编号,您想要得到星期名称。SWITCH 会将每个数字映射到相应的标签。
SWITCH 使用精确相等将表达式与每个值进行比较,因此 1 只会匹配 1,绝不会匹配“接近 1”的值。
=SWITCH(A2,1,"Mon",2,"Tue",3,"Wed",4,"Thu",5,"Fri",6,"Sat",7,"Sun")添加默认的兜底值
如果单元格 A2 中存放了您从未列出的值,例如 8 或拼写错误,该怎么办?如果没有默认值,SWITCH 就会返回 #N/A 错误。
在末尾添加一个参数,并且不要在它前面放置匹配值。SWITCH 会将单独的末尾参数视为默认值,在没有任何匹配项时使用它。
=SWITCH(A2,1,"Mon",2,"Tue",3,"Wed","Invalid day")SWITCH 进行精确比较
这是最重要的规则:SWITCH 只检查精确相等。它不能进行“大于”或“介于”测试。
因此,SWITCH 非常适合代码、标识符、状态和类别名称。对于按分数范围评分,它是错误的选择。处理范围时,仍然需要使用嵌套 IF,或者使用带比较测试的 IFS。
=SWITCH(B2,"A","Approved","P","Pending","R","Rejected","Review")SWITCH 与嵌套 IF 的比较
比较用两种方式实现相同逻辑的结果。使用嵌套 IF 时,您需要将 A2 重复三次:
=IF(A2="N","North",IF(A2="S","South",IF(A2="E","East","West")))
使用 SWITCH 时,只需指定一次 A2,其余内容都是清晰的成对值。括号更少,重复更少,也更容易阅读或日后编辑。
=SWITCH(A2,"N","North","S","South","E","East","West")返回数字和公式
与 IF 一样,SWITCH 中的结果可以是数字,甚至可以是计算结果,而不仅仅是文本标签。
这里,配送代码决定固定费用。代码 STD 返回 5,代码 EXP 返回 15,其他所有情况都使用默认费用 25。
=SWITCH(C2,"STD",5,"EXP",15,25)巧用 TRUE
其实有一种方法可以让 SWITCH 处理范围。将表达式设置为 TRUE,然后让每个值都成为一个完整的比较条件。SWITCH 会返回第一个比较结果等于 TRUE 的条件所对应的结果。
这种方法模拟了嵌套 IF 的范围测试,同时保留了整洁的 SWITCH 布局。请记住,要按从高到低的顺序排列比较条件。
=SWITCH(TRUE, A2>=90,"A", A2>=80,"B", A2>=70,"C", "F")更深入的示例
A2 中的状态代码应转换为友好的消息和后续操作。我们映射四个代码,并提供一个安全的默认值:
1表示“新订单”2表示“已发货”3表示“已送达”4表示“已取消”- 其他所有情况均表示“检查记录”
=SWITCH(A2,1,"New order",2,"Shipped",3,"Delivered",4,"Cancelled","Check record")可用性说明
SWITCH 可在 Excel 2019、Microsoft 365 版 Excel 和 Google Sheets 中使用。它不存在于 Excel 2013 或更早的版本中。
如果您在旧版本中打开工作簿,SWITCH 可能会显示为 #NAME?。在这种情况下,请改用嵌套 IF,因为它们在所有版本中都能使用。
SWITCH 的最佳实践
记住以下几点,就能充分发挥 SWITCH 的作用:
- 将它用于精确匹配:代码、状态和类别。
- 始终添加默认值,避免出现 #N/A 错误。
- 让值和结果成对排列,便于快速查看。
- 处理范围逻辑时,请使用
SWITCH(TRUE, ...)技巧,或继续使用 IFS。
快速检查
测试您对 SWITCH 比较值方式的理解。
回顾:使用 SWITCH 选择情况
您已经学会使用 SWITCH 将一个值映射到多个结果。要点如下:
- 语法是
SWITCH(expression, value1, result1, ..., default)。 - 它通过精确相等进行匹配,非常适合代码和状态。
- 始终包含默认值,以避免出现
#N/A。 - 需要范围逻辑时,请使用
SWITCH(TRUE, comparison, result, ...)。
=SWITCH(A2,"N","North","S","South","E","East","West")常见问题解答
「使用 SWITCH 选择匹配分支」课时是免费的吗?
是的 — 「使用 SWITCH 选择匹配分支」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Excel Formulas Academy 课程的其余内容,请升级到 CoddyKit PRO。 Excel Formulas Academy 课程共包含 4 节课。
「使用 SWITCH 选择匹配分支」这节课中我会学到什么?
使用 SWITCH 将输入映射到多个结果之一 你通过在浏览器中直接运行的动手代码来练习 Excel Formulas Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Excel Formulas Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Excel Formulas Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「使用 SWITCH 选择匹配分支」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Excel Formulas Academy 课中编写并运行代码吗?
能。每节 Excel Formulas Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 嵌套 IF 处理多种结果
- 使用 SWITCH 选择匹配分支
- 使用 CHOOSE 选择项目
- 让复杂逻辑保持可读