ZetCode

Excel SWITCH 函数

最后修改于 2025 年 4 月 4 日

SWITCH 函数是 Excel 中一个强大的逻辑函数,它将一个表达式与一系列值进行比较,并返回第一个匹配值的结果。本教程将通过详细的示例提供使用 SWITCH 函数的全面指南。您将学习基本语法、实际应用和高级技巧,以掌握这个通用的 Excel 函数。

SWITCH 函数基础

SWITCH 函数将一个表达式与一系列值进行比较,并返回第一个匹配值的结果。它是嵌套 IF 语句的替代方案,可以使公式更简洁、更易于阅读。

组成部分 描述
函数名称 SWITCH
语法 =SWITCH(expression, value1, result1, [value2, result2], ..., [default])
参数 要计算的表达式、值/结果对、可选的默认值
返回值 第一个匹配值的结果,如果无匹配则为默认值

此表分解了 SWITCH 函数的基本组成部分。它显示了函数名称、基本语法格式、参数结构和返回值特性。

基本 SWITCH 示例

此示例演示了 SWITCH 函数与星期数字的最简单用法。

基本 SWITCH 公式
=SWITCH(3, 1, "Monday", 2, "Tuesday", 3, "Wednesday", "Invalid day")

此公式将值 3 与星期数字列表进行比较。它匹配第三对 (3, "Wednesday") 并返回 "Wednesday"。最后一个参数是找不到匹配项时的默认值。

带有单元格引用的 SWITCH

SWITCH 的一个更实用的用法是引用单元格值。这是一个带有产品代码的示例。

A B
PRD-002
=SWITCH(A1, "PRD-001", "Laptop", "PRD-002", "Monitor", "PRD-003", "Keyboard", "Unknown product")

该表显示了单元格 A1 中的产品代码和单元格 B1 中的 SWITCH 公式,该公式返回相应的产品名称。该公式将 "PRD-002" 匹配为 "Monitor"。

带有单元格引用的 SWITCH
=SWITCH(A1, "PRD-001", "Laptop", "PRD-002", "Monitor", "PRD-003", "Keyboard", "Unknown product")

此公式将 A1 中的值与产品代码进行比较。当 A1 包含 "PRD-002" 时,它返回 "Monitor"。如果没有代码匹配,它将返回 "Unknown product"。使用单元格引用使 SWITCH 更具动态性。

带有数字范围的 SWITCH

虽然 SWITCH 不直接处理范围,但您可以创造性地将其与数值一起使用。此示例展示了一个评分系统。

A B
87
=SWITCH(TRUE, A1>=90, "A", A1>=80, "B", A1>=70, "C", A1>=60, "D", "F")

此表演示了如何使用 SWITCH 和逻辑表达式来创建基于范围的评分。该公式根据分数阈值评估 A1 中的分数。

带有数字范围的 SWITCH
=SWITCH(TRUE, A1>=90, "A", A1>=80, "B", A1>=70, "C", A1>=60, "D", "F")

此公式将 A1 中的分数与评分阈值进行比较。对于 87,它匹配 A1>=80 并返回 "B"。TRUE 表达式启用了逻辑比较。此技术将 SWITCH 的功能扩展到精确匹配之外。

带有多个条件的 SWITCH

您可以通过将 SWITCH 与其他函数结合使用来处理多个条件。此示例显示了部门和角色的组合。

A B C
市场部 Manager
=SWITCH(A1&B1, "MarketingManager", 75000, "MarketingAssociate", 50000, "ITManager", 85000, 40000)

该表显示了如何连接多个单元格中的值来为 SWITCH 创建复合键。该公式结合了部门和角色来确定工资。

带有多个条件的 SWITCH
=SWITCH(A1&B1, "MarketingManager", 75000, "MarketingAssociate", 50000, "ITManager", 85000, 40000)

此公式连接部门 (A1) 和角色 (B1) 以创建复合键。对于 "Marketing" 和 "Manager",它返回 75000。默认工资为 40000。此方法无需嵌套 IF 即可处理多个条件。

带有错误处理的 SWITCH

SWITCH 可以帮助简化公式中的错误处理。此示例演示了如何处理不同的错误类型。

A B
#N/A
=SWITCH(IFERROR(TYPE(A1),0), 1, "Number", 2, "Text", 16, "Error", "Unknown type")

该表演示了如何将 SWITCH 与 TYPE 函数一起使用来识别不同的值类型,包括错误。该公式处理 A1 中的 #N/A 错误。

带有错误处理的 SWITCH
=SWITCH(IFERROR(TYPE(A1),0), 1, "Number", 2, "Text", 16, "Error", "Unknown type")

此公式首先检查 A1 的类型。对于错误,IFERROR 返回 0,然后将其评估为 "Unknown type"。对于有效值,它返回适当的类型描述。此技术有助于处理不同的数据场景。

SWITCH 与嵌套 IF 的比较

SWITCH 通常是嵌套 IF 语句的一个更简洁的替代方案。此示例比较了这两种方法。

方法 公式
嵌套 IF =IF(A1=1,"Red",IF(A1=2,"Green",IF(A1=3,"Blue","Unknown")))
SWITCH =SWITCH(A1,1,"Red",2,"Green",3,"Blue","Unknown")

该表清楚地显示了 SWITCH 如何简化复杂的条件逻辑。这两个公式都实现了相同的结果,但 SWITCH 更具可读性和可维护性。

SWITCH 与嵌套 IF 的比较
=SWITCH(A1,1,"Red",2,"Green",3,"Blue","Unknown")

SWITCH 公式等同于嵌套 IF 示例,但更为简洁。它将 A1 与三种颜色代码进行比较,并返回相应的颜色名称或 "Unknown"。结构是线性的,易于修改。

SWITCH 函数是简化 Excel 中复杂条件逻辑的通用工具。从基本的值匹配到处理多个条件和错误场景,SWITCH 提供了一种比嵌套 IF 语句更简洁的替代方案。掌握 SWITCH 将使您的公式更具可读性和可维护性,同时减少复杂逻辑中出错的可能性。

作者

我叫 Jan Bodnar,是一名热情的程序员,拥有丰富的编程经验。我自 2007 年以来一直在撰写编程文章。迄今为止,我已撰写了 1400 多篇文章和 8 本电子书。我在编程教学方面拥有十多年的经验。

列出 所有 Excel 公式