0Pricing
Excel Formulas Academy · 课时

使用 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 反馈 — 无需本地设置。

此课程中的所有课时

  1. 嵌套 IF 处理多种结果
  2. 使用 SWITCH 选择匹配分支
  3. 使用 CHOOSE 选择项目
  4. 让复杂逻辑保持可读
← 返回 Excel Formulas Academy