跳至主要内容

Excel IF 函数

Author: Xiaoyang Last Modified: 2025-07-31

IF 函数是 Excel 工作簿中最简单且最有用的函数之一。它执行一个简单的逻辑测试,根据比较结果返回一个值:如果结果为 TRUE,则返回一个值;如果结果为 FALSE,则返回另一个值。


 语法:

Excel 中 IF 函数的语法为:

=IF (logical_test, [value_if_true], [value_if_false])

doc if function 2


 参数:

  • logical_test: 必需。这是您要测试的条件。
  • value_if_true: 可选。当 logical_test 的结果为 TRUE 时,您希望返回的特定值。
  • value_if_false: 可选。当 logical_test 的结果为 FALSE 时,您希望返回的值。

注意:

1. 如果省略 value_if_true 参数:

  • 如果在 IF 函数中省略了 value_if_true 参数(例如仅在 logical_test 后跟随逗号),则当条件满足时,公式将返回零。例如:=IF(C2>100,, "低")
  • 如果您希望在条件满足时返回空白单元格而不是零,应在第二个参数中输入双引号 "",如下所示:=IF(C2>100, "", "低")
doc if function 3 doc if function 4

2. 如果省略 value_if_false 参数:

  • 如果在 IF 函数中省略了 value_if_false 参数,当指定条件未满足时,公式将返回 FALSE。例如:=IF(C2>100, "高")
  • 如果在 value_if_true 参数后添加逗号,当指定条件未满足时,公式将返回零。例如:=IF(C2>100, "高" ,)
  • 如果在第三个参数中输入双引号 "",当条件未满足时,将返回空单元格。例如:=IF(C2>100, "高" , "")
doc if function 5 doc if function 6 doc if function 7

 返回值:

测试特定条件,并返回您为 TRUE 或 FALSE 提供的相应值。


 示例:

示例 1:对数字使用简单的 IF 函数

例如,假设您想测试一组数值,如果该值大于特定值 100,则显示文本“好”;否则,返回文本“差”。

输入以下公式,您将获得所需的结果:

=IF(B2>100,"好","差")

doc if function 8


示例 2:对文本值使用 IF 函数

情况 1:不区分大小写的 IF 函数用于文本值:

这里,我有一个包含任务列表和完成状态的表格,现在我想知道哪些任务需要继续进行,哪些不需要。当 C 列中的文本为“已完成”时,显示“否”,否则返回“是”。

请应用以下公式,当 C 列中的文本显示为“已完成”时,无论其为大写还是小写,单元格都将返回“否”;如果 C 列中有其他文本,则返回“是”。请参见截图:

=IF(C2="已完成", "否", "是")

doc if function 9

情况 2:区分大小写的 IF 函数用于文本值:

为了测试区分大小写的文本值,您应将 IF 函数与 EXACT 函数结合使用,请应用以下公式,只有完全匹配的文本才会被识别,您将获得所需的结果:

=IF(EXACT(C2,"COMPLETED"), "否", "是")

doc if function 10

情况 3:部分匹配的 IF 函数用于文本值:

有时,您需要基于部分文本来检查单元格值,在这种情况下,您应该将 IF、ISNUMBER 和 SEARCH 函数一起使用。

例如,如果您想检查包含文本“comp”的单元格,并返回相应的值,请应用以下公式。您将获得如下截图所示的结果:

=IF(ISNUMBER(SEARCH("comp",C2)), "否", "是")

doc if function 11

注意:

  • 1. SEARCH 函数适用于不区分大小写的文本,如果您想检查区分大小写的文本,应将 SEARCH 函数替换为 FIND 函数。如下所示:=IF(ISNUMBER(FIND("comp",C2)), "否", "是")
  • 2. 在 IF 公式中作为参数的文本值,必须用“双引号”括起来。

示例 3:对日期值使用 IF 函数

情况 1:IF 函数用于将日期与特定日期进行比较:

如果您想通过比较日期来检查它们是否大于或小于某个特定日期,IF 函数也可以帮助您。由于 IF 函数无法识别日期格式,因此应将其与 DATEVALUE 函数结合使用。

请应用此公式,当日期大于 2019 年 4 月 15 日时,将返回“是”,否则公式将返回“否”文本,请参见截图:

=IF(D4>DATEVALUE("4/15/2019"), "是", "否")

doc if function 12

注意:在上述公式中,您也可以直接使用单元格引用而无需使用 DATEVALUE 函数。如下所示:=IF(D4>$D$1, "是", "否")

doc if function 13

情况 2:IF 函数用于检查日期是否大于或小于 30 天:

如果您想识别距离当前日期大于或小于 30 天的日期,可以将 TODAY 函数与 IF 函数结合使用。

请输入此公式:

识别超过 30 天的日期:=IF(TODAY()-C4>30,"较早日期","")

识别大于 30 天的日期:=IF(C4-TODAY()>30, "未来日期", "")

doc if function 14 doc if function 15

注意:如果您希望将两个结果放在一列中,则需要使用嵌套 IF 函数,如下所示:

=IF(C4-TODAY()>30, "未来日期", IF(TODAY()-C4>30, "较早日期", ""))

doc if function 16


示例 4:将 IF 函数与 AND、OR 函数一起使用

在 Excel 中,我们通常会将 IF、AND 和 OR 函数结合使用。

情况 1:将 IF 函数与 AND 函数结合使用以检查所有条件是否为真:

我想检查我设置的所有条件是否都满足,例如:B4 是红色,C4 是小,D4>200。如果所有条件均为 TRUE,则标记结果为“是”;如果任一条件为 FALSE,则返回“否”。

请应用此公式,您将获得如下截图所示的结果:

=IF(AND(B4="红色",C4="小", D4>200),"是","否")

doc if function 17

情况 2:将 IF 函数与 OR 函数结合使用以检查任一条件是否为真:

您还可以使用 IF 和 OR 函数来检查任一条件是否为真,例如,我想识别 B 列中的单元格是否包含“蓝色”或“红色”文本,如果 B 列中有任何文本,则显示“是”,否则返回“否”。

在这里,您应应用此公式,将显示以下结果:

=IF(OR(B4="红色",B4="蓝色"),"是","否")

doc if function 18

情况 3:将 IF 函数与 AND 和 OR 函数结合使用:

在此示例中,我将同时将 IF 函数与 AND 和 OR 函数结合使用。假设,您应检查以下条件:

  • 条件 1:B 列 = “红色” 且 D 列 > 300;
  • 条件 2:B 列 = “蓝色” 且 D 列 > 300。

如果上述任一条件满足,则返回“匹配”,否则返回“否”。

请使用此公式,您将获得所需的结果:

=IF(AND(OR(B4="红色",B4= "蓝色"), D4>300), "匹配", "否")

doc if function 19


示例 5:使用嵌套 IF 函数

IF 函数用于测试条件并返回一个值,如果条件满足,返回另一个值,如果不满足。但是,有时您需要同时检查多个条件并返回不同的值,您可以使用嵌套 IF 来解决此问题。

嵌套 IF 语句结合了多个 IF 条件,这意味着在一个 IF 语句内放置另一个 IF 语句,并多次重复该过程。

Excel 中嵌套 IF 函数的语法为:

=IF (条件1, 结果1, IF (条件2, 结果2, IF (条件3, 结果3,…)))

注意:在 Excel 2007 及更高版本中,您可以在一个公式中嵌套多达 64 个 IF 函数,而在 Excel 2003 及更早版本中,只能使用 7 个嵌套 IF 函数。

情况 1:嵌套 IF 函数以检查多个条件:

嵌套 IF 函数的经典用途是根据学生的分数分配字母等级。例如,您有一个包含学生及其考试成绩的表格,现在您想根据以下条件对分数进行分类:

doc if function 20

请应用此公式,您将获得以下结果:如果分数大于或等于 90,则等级为“优秀”;如果分数大于或等于 80,则等级为“良好”;如果分数大于或等于 60,则等级为“中等”,否则,等级为“差”。

=IF(C2>=90, "优秀", IF(C2>=80, "良好", IF(C2>=60, "中等", "差")))

doc if function 21

上述公式的解释:

doc if function 22
  • IF(检查 C2>=90,如果为真 - 返回“优秀”,否则
  • IF(检查 C2>=80,如果为真 - 返回“良好”,否则
  • IF(检查 C2>=60,如果为真 - 返回“中等”,如果为假 - 返回“差”)))

情况 2:嵌套 IF 函数根据数量计算价格:

嵌套 IF 函数还可用于根据数量计算产品价格。

例如,您希望根据数量为客户提供价格优惠,购买的数量越多,折扣越大,如下截图所示。

doc if function 23

由于总价等于数量乘以价格,因此您应将指定数量乘以嵌套 IF 返回的值。请使用此公式:

=D2*IF(D2>=101,16, IF(D2>=50, 21, IF(D2>=25, 26, IF( D2>=11, 30, IF(D2>=1, 39, "")))))

doc if function 24

注意:您还可以使用单元格引用来替代静态价格数字,当源数据发生变化时,您无需更新公式,请使用此公式:=D2*IF(D2>=101, B6, IF(D2>=50, B5, IF(D2>=25, B4, IF( D2>=11, B3, IF(D2>=1, B2, "")))))

doc if function 25

提示:使用 IF 函数构建测试时,您可以使用以下逻辑运算符:

运算符 含义 示例 描述
> 大于 =IF(A1>10, "确定",) 如果 A1 单元格中的数字大于 10,公式返回“确定”;否则返回 0。
< 小于 =IF(A1<10, "确定", "") 如果 A1 单元格中的数字小于 10,公式返回“确定”;否则返回空白单元格。
>= 大于等于 =IF(A1>=10, "确定", "错误") 如果 A1 单元格中的数字大于或等于 10,将返回“确定”;否则,显示“错误”。
<= 小于等于 =IF(A1<=10, "确定", "否") 如果 A1 单元格中的数字小于或等于 10,将返回“确定”;否则返回“否”。
= 等于 =IF(A1=10, "确定", "否") 如果 A1 单元格中的数字等于 10,将返回“确定”;否则显示“否”。
<> 不等于 =IF(A1<>10, "否", "确定") 如果 A1 单元格中的数字不等于 10,公式返回“否”;否则返回“确定”。

最佳的办公生产力工具

Kutools for Excel - 助您脱颖而出

🤖 Kutools AI 助手:基于智能执行革新数据分析:智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用 Kutools 函数
热门功能查找、高亮或标记重复项  |  删除空行  |  合并列或单元格而不丢失数据  |  无需公式四舍五入 ...
超级 VLookup多条件  |  多值  |  跨多表  |  模糊查找...
高级下拉列表简易下拉列表  |  级联下拉列表  |  多选下拉列表...
列管理器添加指定数量的列  |  移动列  |  切换隐藏列的可见状态  比较列以 选择相同和不同单元格 ...
特色功能网格聚焦  |  设计视图  |  增强编辑栏  |  工作簿与工作表管理器 | 资源库(自动文本)  |  日期提取  |  合并工作表  |  加密/解密单元格  |  按列表发送电子邮件  |  超级筛选  |  特殊筛选(筛选粗体/斜体/删除线...) ...
排名前 15 的工具集12 个文本工具添加文本删除特定字符 ...)  |  50+ 种图表 类型甘特图 ...)  |  40+ 实用 公式基于生日计算年龄 ...)  |  19 个插入工具插入二维码从路径插入图片 ...)  |  12 个转换工具小写金额转大写汇率转换 ...)  |  7 个合并和拆分工具高级合并行拆分 Excel 单元格 ...)  |  ... 更多功能
使用您偏好的语言来操作 Kutools - 支持英语、西班牙语、德语、法语、中文等 40 多种语言!

Kutools for Excel 拥有超过 300 项功能,确保您所需的一切都仅需一键之遥...


Office Tab - 在 Microsoft Office(包括 Excel)中启用标签式阅读和编辑

  • 一秒内在数十个打开的文档之间切换!
  • 每天为您减少数百次鼠标点击,告别鼠标手。
  • 在查看和编辑多个文档时,您的生产力可提升 50%。
  • 为 Office(包括 Excel)带来高效标签页,就像 Chrome、Edge 和 Firefox 一样。