如果您曾尝试在 Excel 中构建复杂的逻辑公式,您就知道它会多么容易变得杂乱。使用嵌套的 IF() 语句时,最难的是弄清楚每个条件该放在哪里。
这就是 Excel 推出 IFS() 新函数的原因。它能更干净、更简单地检查多个条件,而无需把自己绕晕。我将通过示例和技巧带您了解 IFS() 的工作方式,帮助您自信使用它。
什么是 Excel 中的 IFS() 函数?
IFS() 函数可同时检查多个条件。它会按照您编写的顺序逐一检查条件,并返回第一个为 TRUE 的结果。
因此,它是书写曾经杂乱的嵌套 IF() 公式的更简便方法。与其把多个 IF() 相互嵌套,不如用 IFS() 在同一处列出所有条件。总共您最多可以添加 127 组“条件-结果”对,虽然我怀疑您是否会需要那么多。
IFS() 函数如何工作
其语法为:
=IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2]…)技术支持
其中:
如何使用 Excel IFS()
IFS() 会根据条件返回不同结果。您可以使用 =、<、>、<= 和 >= 等逻辑运算符来构建逻辑。以下是入门方法。
方式一:使用公式向导
要使用公式向导:
-
单击您要插入公式的单元格。
-
转到公式选项卡,选择插入函数。
-
在搜索框中输入 IFS 并单击执行。
-
选择 IFS,单击确定,然后输入您的条件和结果。
-
再次单击确定以应用公式。
这是一种无需手动敲公式就能快速构建的方法。

使用公式向导应用 IFS() 函数。图片由作者提供。
方式二:手动编写
您也可以手动编写公式。这可能是大多数人的做法。您只需在单元格中键入 =IFS(,然后逐步构建逻辑。假设您要根据送达时间分配运输方式:
-
如果为 2 天或更少,则为 Express
-
如果为 3 到 5 天,则为 Standard
对此,公式如下:
=IFS(B2<=2, "Express", B2<=5, "Standard")技术支持

在单元格中应用 IFS() 公式。图片由作者提供。
您还可以将公式复制到其他单元格。为此,请拖动单元格右下角的小方块(填充柄)。这会将公式应用到整列。或者只需双击它,Excel 会根据数据自动填充。
专业提示:当您复制公式时,Excel 会自动更新单元格引用。如果您希望保持引用不变,请按 F4 键将其设为绝对引用(会将 A1 更改为 $A$1)。

使用填充柄向下复制公式。图片由作者提供
但其中一个单元格会抛出 #N/A 错误,因为没有任何条件被满足。要解决此问题,请在公式末尾添加一个使用 TRUE 的最终条件。这就像备选方案;它会捕获之前未匹配的情况并返回默认结果。
=IFS(B2<=2, "Express", B2<=5, "Standard", TRUE, "Economy")技术支持
这样就能消除 #N/A 错误并返回默认值。

使用最后的 ELSE 条件处理 #N/A 错误。图片由作者提供。
IFS() 实战示例
现在来看一些实际示例,这也是大多数人使用此函数的场景。
成绩评定
您可以使用 IFS() 将学生分数转换为字母等级。假设您有一份学生及其考试分数的列表。您可以使用以下公式将这些数字转换为等级:
=IFS(C5<60,"F", C5<70,"D", C5<80,"C", C5<90,"B", C5>=90,"A")技术支持
其作用如下:
-
分数小于 60,返回 F。
-
小于 70,返回 D。
-
小于 80,返回 C。
-
小于 90,返回 B。
-
大于等于 90,返回 A。
Excel 会按顺序检查每个条件,并在找到第一个为 TRUE 的条件时停止。即使有多个条件可能适用,也只会计入第一个匹配。

使用 IFS() 为学生评定等级。图片由作者提供。
使用 TRUE 进行错误处理
您也可以用 IFS() 根据不同的状态码显示自定义消息,而不是让 Excel 显示 #N/A 错误。比如,您有一个代码列表,希望基于每个代码显示对应消息,可以使用如下公式:
=IFS(A2=100,"OK", A2=200,"Warning", A2=300,"Error", TRUE,"Invalid")技术支持
其工作方式如下:
-
如果代码为 100,显示 OK。
-
如果为 200,显示 Warning。
-
如果为 300,显示 Error。
-
如果都不匹配,显示 Invalid。
最后这一点很重要。它会根据代码显示相应消息。如果没有精确匹配,最后的 TRUE 条件会作为兜底返回 Invalid。

使用 IFS() 根据代码显示消息。图片由作者提供。
条件文本标签
您还可以使用 IFS() 将项目分到水果、蔬菜或饮品等类别中,便于在新增项目时持续归类。
一个简单的公式如下:
=IFS(A2="Grapes","Fruit", A2="Broccoli","Green Vegetable", A2="Tea","Beverage", TRUE,"Misc")技术支持
其作用如下:
最后一行(带 TRUE)是您的备用选项。它会捕获不属于其他类别的任何内容。

使用 IFS() 对项目进行分类。图片由作者提供。
财务建模
我们也可以将 IFS() 用于财务建模。来看两个常见示例:
应用折扣阶梯
您可以使用 IFS() 根据客户的总购买金额分配折扣。
=IFS(B2>=500,"20% Discount", B2>=300,"10% Discount", B2>=100,"5% Discount", TRUE,"No Discount")技术支持
其工作方式如下:
-
金额大于等于 500,返回 20% Discount
-
金额大于等于 300,返回 10% Discount。
-
金额大于等于 100,返回 5% Discount。
-
金额小于 100,最后的 TRUE 条件返回 No Discount。

使用 IFS() 应用折扣。图片由作者提供。
计算休假天数
您还可以根据员工在公司的年限计算其可享受的休假天数。请使用以下公式:
=IFS(B2>=10,"30 Days", B2>=5,"20 Days", B2>=1,"10 Days", TRUE,"No Leave")技术支持
具体如下:
-
10 年及以上为 30 Days 休假。
-
5 到 9 年为 20 Days。
-
1 到 4 年为 10 Days。
-
不足 1 年为 No Leave。

根据司龄分配休假天数(IFS())。图片由作者提供。
数据转换
您还可以使用 IFS() 将文件大小从字节转换为更易读的单位,如 KB、MB 或 GB:
=IFS(B2<1024, B2 & " Bytes", B2<1048576, ROUND(B2/1024,1) & " KB", B2<1073741824, ROUND(B2/1048576,1) & " MB", TRUE, ROUND(B2/1073741824,1) & " GB")技术支持
该公式会:
-
1024 以下显示 Bytes
-
小于 1 MB 显示 KB
-
小于 1 GB 显示 MB
-
更大则显示 GB

使用 IFS() 将字节转换为 KB、MB、GB。图片由作者提供。
IFS() vs. IF() vs. 嵌套 IF()
在 Excel 中处理多个条件时,您有三种选择:IF()、嵌套 IF(),或 IFS() 函数。每种方式的工作方式不同,下面告诉您如何选择合适的方法。
可读性对比
如果您只检查一到两个条件,基本的 IF() 就很合适。它快速、简单、好用。但当您尝试检查多个条件时,事情就变得复杂。这时我们会把 IF() 层层嵌套,导致公式更难读,也更难在后续修改。
例如:
=IF(A1<60,"F",IF(A1<70,"D",IF(A1<80,"C",IF(A1<90,"B","A"))))技术支持
它能用,但不容易看懂。大量的括号让阅读和更新变得困难。

嵌套 IF() 难以阅读和理解。图片由作者提供。
再看使用 IFS() 的相同逻辑:
=IFS(A1<60,"F", A1<70,"D", A1<80,"C", A1<90,"B", A1>=90,"A")技术支持
这看起来清晰得多。每个条件都直接与结果配对,没有嵌套和括号堆叠。所以,如果您想要一个易读、易懂、后期也好维护的公式,IFS() 是很好的选择。

IFS() 更易读、易懂。图片由作者提供。
性能考量
IFS() 会检查您提供的每个条件,即便已经找到匹配。也就是说,即使您列出五个条件,Excel 仍会评估全部五个。
但嵌套的 IF() 更“聪明”一些。它使用“短路”机制,即一旦发现第一个为 TRUE 的条件就停止检查。这能在包含大量公式的大型表中稍微节省一些时间。
快速对比:何时用哪一个
下面这张简表可帮助您理解何时使用 IF()、嵌套 IF() 和 IFS():
|
特性
|
IF()
|
嵌套 IF()
|
IFS()
|
|
最佳适用
|
1–2 个简单条件
|
复杂逻辑(注重性能)
|
多个条件(注重可读性)
|
|
可读性
|
非常容易
|
较难(括号很多)
|
清晰、易于扫读
|
|
后续编辑
|
简单
|
可能麻烦(到处是括号)
|
容易更新
|
|
性能
|
快速
|
略快(使用短路)
|
略慢(检查所有条件)
|
|
示例用法
|
基础是/否检查
|
超大表中的阶梯定价
|
评分、分类、兜底消息
|
IFS vs. SWITCH()
IFS() 和 SWITCH() 均可在单个自包含公式中检查多个条件,但工作方式不同。以下是二者的详细对比:
|
特性
|
IFS()
|
SWITCH()
|
|
最佳适用
|
使用逻辑(>、<、=)的不同条件
|
将一个值与多个精确匹配进行比较
|
|
支持逻辑运算符?
|
是,适合范围或不等式
|
否,只适用于精确值
|
|
语法风格
|
每次都需重复完整条件
|
更简洁,因为用一个表达式对比多个值
|
|
示例用法
|
按分数给学生分级(如 90+、75–89...)
|
将代码映射到类别(如 1 = North,2 = South...)
|
|
兜底/默认选项
|
在末尾使用 TRUE 作为全捕获情况
|
添加一个最终值(无条件)作为默认
|
|
可读性
|
条件多时可能变长
|
在比较同一表达式时更简洁
|
|
灵活性
|
高度灵活,可处理不同表达式
|
灵活性有限,仅对一个表达式的精确匹配
|
需要注意的事项
在 Excel 中使用 IFS() 时,您需要注意以下几点。
常见错误及其修复
先来看一些您可能会遇到的常见错误。
参数过少
如果我们添加了某个条件,却忘了包含当其为真时应发生什么(value_if_true),Excel 会弹出提示:“您为此函数输入的参数太少”。
#N/A 错误
当公式中的条件没有任何一个为 TRUE 时,会出现 #N/A 错误。Excel 至少需要一个匹配,否则会陷入僵局。如果您不想显示 #N/A,请在末尾添加带有兜底值的 TRUE。
#VALUE! 错误
#VALUE! 错误会在某个 logical_test 参数未返回明确的 TRUE 或 FALSE 时出现。可能是拼写错误,或条件不太正确。无论哪种情况,Excel 都不知道如何处理,因此请仔细检查您的逻辑。
技巧与最佳实践
接下来是一些让您的公式更好、更简单的最佳实践:
-
尽量保持简单。通常 10 个或更少条件就足够了。
-
在最后添加以 TRUE 为条件的兜底情况。它能覆盖未满足主要条件的任何情形。
-
确保每个条件都有对应结果,并且测试能返回 TRUE 或 FALSE。
-
使用边界值进行测试,例如 0、100,甚至空白单元格,以确保它能按预期处理所有情况。
优缺点
IFS() 有不少优点,但也有一些需要留意的点。
|
优点
|
缺点
|
|
比嵌套 IF() 更简洁、易读
|
不使用短路机制——即使已匹配仍会检查所有条件
|
|
支持最多 127 个条件
|
需要手动添加 TRUE 兜底
|
|
更易调试并跟踪复杂逻辑
|
仅适用于 Excel 2016 或更高版本
|
总结
IFS() 函数是一种在不让公式变得杂乱的情况下检查多个条件的好方法。它比把多个 IF() 相互嵌套更易阅读,也让逻辑更加清晰。请务必按正确顺序列出条件,并始终在末尾添加使用 TRUE 的兜底选项——这样即使没有匹配,您的公式也不会出错。
如果您的逻辑可预测且遵循清晰规则,IFS() 是让工作表保持整洁、易于管理的绝佳方式。
如果您曾尝试在 Excel 中构建复杂的逻辑公式,您就知道它会多么容易变得杂乱。使用嵌套的
IF()语句时,最难的是弄清楚每个条件该放在哪里。这就是 Excel 推出
IFS()新函数的原因。它能更干净、更简单地检查多个条件,而无需把自己绕晕。我将通过示例和技巧带您了解IFS()的工作方式,帮助您自信使用它。什么是 Excel 中的 IFS() 函数?
IFS()函数可同时检查多个条件。它会按照您编写的顺序逐一检查条件,并返回第一个为TRUE的结果。因此,它是书写曾经杂乱的嵌套
IF()公式的更简便方法。与其把多个IF()相互嵌套,不如用IFS()在同一处列出所有条件。总共您最多可以添加 127 组“条件-结果”对,虽然我怀疑您是否会需要那么多。IFS() 函数如何工作
其语法为:
其中:
logical_test1(必需)是第一个条件。value_if_true1(必需)当 logical_test1 为TRUE时返回的结果。其余最多 126 个
logical_test与value_if_true参数为可选。如何使用 Excel IFS()
IFS()会根据条件返回不同结果。您可以使用=、<、>、<=和>=等逻辑运算符来构建逻辑。以下是入门方法。方式一:使用公式向导
要使用公式向导:
单击您要插入公式的单元格。
转到公式选项卡,选择插入函数。
在搜索框中输入
IFS并单击执行。选择
IFS,单击确定,然后输入您的条件和结果。再次单击确定以应用公式。
这是一种无需手动敲公式就能快速构建的方法。
使用公式向导应用 IFS() 函数。图片由作者提供。
方式二:手动编写
您也可以手动编写公式。这可能是大多数人的做法。您只需在单元格中键入
=IFS(,然后逐步构建逻辑。假设您要根据送达时间分配运输方式:如果为 2 天或更少,则为
Express如果为 3 到 5 天,则为
Standard对此,公式如下:
在单元格中应用 IFS() 公式。图片由作者提供。
您还可以将公式复制到其他单元格。为此,请拖动单元格右下角的小方块(填充柄)。这会将公式应用到整列。或者只需双击它,Excel 会根据数据自动填充。
专业提示:当您复制公式时,Excel 会自动更新单元格引用。如果您希望保持引用不变,请按 F4 键将其设为绝对引用(会将
A1更改为$A$1)。使用填充柄向下复制公式。图片由作者提供
但其中一个单元格会抛出
#N/A错误,因为没有任何条件被满足。要解决此问题,请在公式末尾添加一个使用TRUE的最终条件。这就像备选方案;它会捕获之前未匹配的情况并返回默认结果。这样就能消除
#N/A错误并返回默认值。使用最后的 ELSE 条件处理 #N/A 错误。图片由作者提供。
IFS() 实战示例
现在来看一些实际示例,这也是大多数人使用此函数的场景。
成绩评定
您可以使用
IFS()将学生分数转换为字母等级。假设您有一份学生及其考试分数的列表。您可以使用以下公式将这些数字转换为等级:其作用如下:
分数小于 60,返回
F。小于 70,返回
D。小于 80,返回
C。小于 90,返回
B。大于等于 90,返回
A。Excel 会按顺序检查每个条件,并在找到第一个为
TRUE的条件时停止。即使有多个条件可能适用,也只会计入第一个匹配。使用 IFS() 为学生评定等级。图片由作者提供。
使用 TRUE 进行错误处理
您也可以用
IFS()根据不同的状态码显示自定义消息,而不是让 Excel 显示#N/A错误。比如,您有一个代码列表,希望基于每个代码显示对应消息,可以使用如下公式:其工作方式如下:
如果代码为 100,显示
OK。如果为 200,显示
Warning。如果为 300,显示
Error。如果都不匹配,显示
Invalid。最后这一点很重要。它会根据代码显示相应消息。如果没有精确匹配,最后的
TRUE条件会作为兜底返回Invalid。使用 IFS() 根据代码显示消息。图片由作者提供。
条件文本标签
您还可以使用
IFS()将项目分到水果、蔬菜或饮品等类别中,便于在新增项目时持续归类。一个简单的公式如下:
其作用如下:
如果项目为
Grapes,显示Fruit。如果为
Broccoli,显示Green Vegetable。如果为
Tea,显示Beverage。如果都不匹配,显示
Misc。最后一行(带
TRUE)是您的备用选项。它会捕获不属于其他类别的任何内容。使用 IFS() 对项目进行分类。图片由作者提供。
财务建模
我们也可以将
IFS()用于财务建模。来看两个常见示例:应用折扣阶梯
您可以使用
IFS()根据客户的总购买金额分配折扣。其工作方式如下:
金额大于等于
500,返回20% Discount金额大于等于
300,返回10% Discount。金额大于等于
100,返回5% Discount。金额小于
100,最后的TRUE条件返回No Discount。使用 IFS() 应用折扣。图片由作者提供。
计算休假天数
您还可以根据员工在公司的年限计算其可享受的休假天数。请使用以下公式:
具体如下:
10年及以上为30 Days休假。5到9年为20 Days。1到4年为10 Days。不足 1年为No Leave。根据司龄分配休假天数(IFS())。图片由作者提供。
数据转换
您还可以使用
IFS()将文件大小从字节转换为更易读的单位,如 KB、MB 或 GB:该公式会:
1024以下显示Bytes小于
1MB 显示KB小于
1GB 显示MB更大则显示
GB使用 IFS() 将字节转换为 KB、MB、GB。图片由作者提供。
IFS() vs. IF() vs. 嵌套 IF()
在 Excel 中处理多个条件时,您有三种选择:
IF()、嵌套 IF(),或IFS()函数。每种方式的工作方式不同,下面告诉您如何选择合适的方法。可读性对比
如果您只检查一到两个条件,基本的
IF()就很合适。它快速、简单、好用。但当您尝试检查多个条件时,事情就变得复杂。这时我们会把IF()层层嵌套,导致公式更难读,也更难在后续修改。例如:
它能用,但不容易看懂。大量的括号让阅读和更新变得困难。
嵌套 IF() 难以阅读和理解。图片由作者提供。
再看使用
IFS()的相同逻辑:这看起来清晰得多。每个条件都直接与结果配对,没有嵌套和括号堆叠。所以,如果您想要一个易读、易懂、后期也好维护的公式,
IFS()是很好的选择。IFS() 更易读、易懂。图片由作者提供。
性能考量
IFS()会检查您提供的每个条件,即便已经找到匹配。也就是说,即使您列出五个条件,Excel 仍会评估全部五个。但嵌套的
IF()更“聪明”一些。它使用“短路”机制,即一旦发现第一个为TRUE的条件就停止检查。这能在包含大量公式的大型表中稍微节省一些时间。快速对比:何时用哪一个
下面这张简表可帮助您理解何时使用
IF()、嵌套 IF()和IFS():特性
IF()
嵌套 IF()
IFS()
最佳适用
1–2 个简单条件
复杂逻辑(注重性能)
多个条件(注重可读性)
可读性
非常容易
较难(括号很多)
清晰、易于扫读
后续编辑
简单
可能麻烦(到处是括号)
容易更新
性能
快速
略快(使用短路)
略慢(检查所有条件)
示例用法
基础是/否检查
超大表中的阶梯定价
评分、分类、兜底消息
IFS vs. SWITCH()
IFS()和SWITCH()均可在单个自包含公式中检查多个条件,但工作方式不同。以下是二者的详细对比:特性
IFS()
SWITCH()
最佳适用
使用逻辑(>、<、=)的不同条件
将一个值与多个精确匹配进行比较
支持逻辑运算符?
是,适合范围或不等式
否,只适用于精确值
语法风格
每次都需重复完整条件
更简洁,因为用一个表达式对比多个值
示例用法
按分数给学生分级(如 90+、75–89...)
将代码映射到类别(如 1 = North,2 = South...)
兜底/默认选项
在末尾使用 TRUE 作为全捕获情况
添加一个最终值(无条件)作为默认
可读性
条件多时可能变长
在比较同一表达式时更简洁
灵活性
高度灵活,可处理不同表达式
灵活性有限,仅对一个表达式的精确匹配
需要注意的事项
在 Excel 中使用
IFS()时,您需要注意以下几点。常见错误及其修复
先来看一些您可能会遇到的常见错误。
参数过少
如果我们添加了某个条件,却忘了包含当其为真时应发生什么(
value_if_true),Excel 会弹出提示:“您为此函数输入的参数太少”。#N/A 错误
当公式中的条件没有任何一个为
TRUE时,会出现#N/A错误。Excel 至少需要一个匹配,否则会陷入僵局。如果您不想显示#N/A,请在末尾添加带有兜底值的TRUE。#VALUE! 错误
#VALUE!错误会在某个logical_test参数未返回明确的TRUE或FALSE时出现。可能是拼写错误,或条件不太正确。无论哪种情况,Excel 都不知道如何处理,因此请仔细检查您的逻辑。技巧与最佳实践
接下来是一些让您的公式更好、更简单的最佳实践:
尽量保持简单。通常 10 个或更少条件就足够了。
在最后添加以
TRUE为条件的兜底情况。它能覆盖未满足主要条件的任何情形。确保每个条件都有对应结果,并且测试能返回
TRUE或FALSE。使用边界值进行测试,例如 0、100,甚至空白单元格,以确保它能按预期处理所有情况。
优缺点
IFS()有不少优点,但也有一些需要留意的点。优点
缺点
比嵌套
IF()更简洁、易读不使用短路机制——即使已匹配仍会检查所有条件
支持最多 127 个条件
需要手动添加
TRUE兜底更易调试并跟踪复杂逻辑
仅适用于 Excel 2016 或更高版本
总结
IFS()函数是一种在不让公式变得杂乱的情况下检查多个条件的好方法。它比把多个IF()相互嵌套更易阅读,也让逻辑更加清晰。请务必按正确顺序列出条件,并始终在末尾添加使用TRUE的兜底选项——这样即使没有匹配,您的公式也不会出错。如果您的逻辑可预测且遵循清晰规则,
IFS()是让工作表保持整洁、易于管理的绝佳方式。