KutoolsforOffice — 一套方案,五大工具。事半功倍。

Excel IF 函数

作者Xiaoyang修改日期

IF 函数是 Excel 工作表中最为简单且实用的函数之一。它能够执行基础的逻辑判断,并根据比较结果返回一个值(当结果为 TRUE 时)或另一个值(当结果为 FALSE 时)。


 语法:

Excel 中 IF 函数的语法为:

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

doc if 函数 2


 参数:

  • logical_test:必填项。用于指定您要测试的条件。
  • value_if_true:可选项。当逻辑判断结果为 TRUE 时,您希望返回的指定值。
  • value_if_false:可选项。当逻辑判断结果为 FALSE 时,您希望返回的值。

注意

1. 如果省略 value_if_true

  • 在 IF 函数中,如果省略了 value_if_true 参数,即逻辑判断后直接跟一个逗号,当条件成立时将返回零。例如:=IF(C2>100,, "Low ")
  • 如果希望在条件成立时返回空单元格而不是零,只需在第二个参数中输入一对双引号““,如下所示:=IF(C2>100, "", "Low")
doc if 函数 3doc if 函数 4

2. 如果省略 value_if_false

  • 如果在 IF 函数中省略了 value_if_false 参数,当指定条件不成立时,将返回 FALSE。示例:=IF(C2>100, "High")
  • 如果在 value_if_true 参数后添加一个逗号,当条件不满足时将返回零。例如:=IF(C2>100, "High" ,)
  • 如果第三个参数输入一对双引号““,则当条件不成立时,将返回一个空单元格。示例:=IF(C2>100, "High" , "").
doc if 函数 5doc if 函数 6doc if 函数 7

 返回值:

根据特定条件进行判断,并返回您指定的 TRUE 或 FALSE 对应值。


 示例:

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

例如,假如您需要检测一个数值列表,当数值大于特定值 100 时,显示文本“Good”,否则返回“Bad”。

输入以下公式,即可轻松获得所需结果。

=IF(B2>100,"Good","Bad")

doc if 函数 8


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

案例 1:区分大小写的文本值 IF 函数:

举例来说,假设有一个包含任务及其完成状态的表格,现在希望了解哪些任务还需继续进行,哪些任务无需操作。当 C 列显示“已完成”时,返回“No”;否则返回“Yes”。

请使用以下公式:当 C 列中的文本为“completed”时(不区分大小写),单元格将返回“No”;否则返回“Yes”。如截图所示:

=IF(C2="completed", "No", "Yes")

doc if 函数 9

案例 2:IF 函数结合区分大小写进行文本值处理:

如果要检测包含区分大小写的文本值,应将 IF 函数与 EXACT 函数结合使用,请按照以下公式操作,只会识别带有精确匹配的文本,并得到如下所示的结果:

=IF(EXACT(C2,"COMPLETED"), "No", "Yes")

doc if 函数 10

案例 3:IF 函数实现文本值的部分匹配:

有时,您需要根据部分文本来判断单元格的值,此时建议结合使用 IF、ISNUMBER 和 SEARCH 函数。

例如,当需要检测包含“comp”字样的单元格并返回相应值时,请使用以下公式。您将获得如下截图所示的结果:

=IF(ISNUMBER(SEARCH("comp",C2)), "No", "Yes")

doc if 函数 11

注意:

  • 1。SEARCH 函数适用于不区分大小写的文本查找,如果需要区分大小写,请将 SEARCH 替换为 FIND 函数。示例如下:=IF(ISNUMBER(FIND("comp",C2)), "No", "Yes")
  • 2. 在 IF 公式中,将文本值作为参数时,必须使用双引号将其括起来。

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

案例 1:IF 函数比较日期与指定日期:

如需判断日期是否大于或小于指定日期,同样可以使用 IF 函数。但由于 IF 函数无法直接识别日期格式,因此需要配合 DATEVALUE 函数一起使用。

请使用此公式,当日期大于 4/15/2019 时返回“Yes”,否则返回“No”,见截图:

=IF(D4>DATEVALUE("4/15/2019"), "Yes", "No")

doc if 函数 12

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

doc if 函数 13

案例 2:IF 函数用于判断日期是否早于或晚于 30 天:

如需判断哪些日期与当前日期相差超过 30 天,可将 TODAY 函数与 IF 函数结合使用。

请输入如下公式:

识别早于 30 天的日期:=IF(TODAY()-C4>30,"Older date","")

识别晚于 30 天的日期:=IF(C 4-TODAY()>30, "Future date", "")

doc if 函数 14doc if 函数 15

注意:如需将两个结果放在同一列,可使用嵌套 IF 函数,如下所示:

=IF(C 4-TODAY()>30, "Future date", IF(TODAY()-C4>30, "Older date", ""))

doc if 函数 16


示例 4:IF 函数结合 AND、OR 函数使用

在 Excel 中,IF、AND 和 OR 函数的组合使用是一种非常常见的操作。

案例 1:IF 函数结合 AND 进行所有条件为真的判断:

我希望检测所有设定条件是否同时满足,例如:B4 等于 Red,C4 等于 Small,并且 D4 大于 200. 当所有条件均为 TRUE 时,结果标记为“Yes”;如果有任一条件为 FALSE,则返回“No”。

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

=IF(AND(B4="Red",C4="Small", D4>200),"Yes","No")

doc if 函数 17

案例 2:使用 IF 函数结合 OR 函数判断任意条件是否为真:

您还可以将 IF 函数与 OR 函数结合使用,以判断任意一个条件是否满足。例如,如果您想检测 B 列单元格中是否包含“Blue”或“Red”,只要 B 列中包含任意一个文本,就显示“是”,否则显示“否”。

此处,您应使用此公式,然后会显示如下结果:

=IF(OR(B4="Red",B4="Blue"),"Yes","No")

doc if 函数 18

案例 3:同时结合 IF、AND 及 OR 函数:

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

  • Condition 1: Column B = “Red” and Column D > 300;
  • Condition 2: Column B = “Blue” and Column D > 300.

如果符合上述任一条件,则返回“匹配”;否则,返回“否”。

请使用此公式,您将会得到如下所需结果:

=IF(AND(OR(B4="Red",B4= "Blue"), D4>300), "Match", "No")

doc if 函数 19


示例 5:使用嵌套 IF 函数

IF 函数可用于测试某一条件,若条件成立则返回一个值,否则返回另一个值。但当您需要同时判断多个条件并返回不同结果时,可以通过嵌套 IF 函数来实现。

嵌套 IF 表达式可以将多个 IF 条件组合在一起,即在一个 IF 语句中嵌入另一个 IF 语句,并且可以多次重复嵌套使用。

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

=IF ()condition 1, result 1, IF ()condition 2, result 2, IF ()condition 3, result 3,…)))

注意:在 Excel 2007 及更高版本中,单个公式最多可嵌套 64 个 IF 函数;而在 Excel 2003 及更早版本中,最多只能嵌套 7 个 IF 函数。

案例 1:嵌套 IF 函数检查多个条件:

嵌套 IF 函数的典型应用之一,就是根据学生的成绩分配相应的等级。例如,假设您有一张包含学生姓名和考试成绩的表格,现在需要按照以下条件对成绩进行分类:

doc if 函数 20

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

=IF(C2>=90, "Excellent", IF(C2>=80, "Good", IF(C2>=60, "Medium", "Poor")))

doc if 函数 21

上述公式说明:

doc if 函数 22
  • IF(check if C2>=90, if true - returns "Excellent", or else)
  • IF(check if C2>=80, if true - returns "Good", or else)
  • IF(check if C2>=60, if true - returns "Medium", if false - returns "Poor")))

案例 2:嵌套 IF 函数按数量计算价格:

嵌套 IF 函数同样适用于根据购买数量计算产品价格。

例如,您可以根据客户的购买数量提供不同的价格优惠,购买数量越多,享受的折扣力度越大,如下图所示。

doc if 函数 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 函数 24

注意:您还可以将静态价格数值替换为单元格引用,这样当源数据变化时,无需手动更新公式。请使用以下公式:=D2*IF(D2>=101, B6, IF(D2>=50, B5, IF(D2>=25, B4, IF( D2>=11, B3, IF(D2>=1, B2, "")))))

doc if 函数 25

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

运算符含义示例说明
>大于=IF(A1>10, "OK",)如果单元格 A1 中的数字大于 10,公式将返回“OK”;否则返回 0.
<小于=IF(A1<10, "OK", "")如果单元格 A1 中的数字小于 10,公式将返回“OK”;否则返回空白单元格。
>=大于等于=IF(A1>=10, "OK", "Bad")如果单元格 A1 中的数字大于等于 10,则显示“OK”;否则显示“Bad”。
<=小于等于=IF(A1<=10, "OK", "No")如果单元格 A1 中的数字小于或等于 10,则返回“OK”;否则返回“No”。
=等于=IF(A1=10, "OK", "No")如果单元格 A1 中的数字等于 10,则显示“OK”;否则显示“No”。
<>不等于=IF(A1<>10, "No", "OK")如果单元格 A1 中的数字不等于 10,则公式返回“No”;否则返回“OK”。

这款最佳办公效率工具

Kutools for Excel —— 助您脱颖而出

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

Kutools for Excel 拥有超过 300 项功能,让您的需求只需轻点鼠标即可满足……


Office Tab —— 为 Microsoft Office(含 Excel)带来标签式阅读与编辑

  • 一秒钟即可切换数十个已打开的文档!
  • 每天为您减少上百次鼠标点击,轻松告别鼠标手困扰。
  • 在同时查看和编辑多个文档时,您的工作效率提升高达 50%。
  • 为 Office(包括 Excel)带来高效标签页体验,操作流畅如同在 Chrome、Edge 或 Firefox 浏览器中切换标签页。