首页 / 公式 / IF
逻辑 Excel + Google Sheets

Excel IF 函数与公式

IF 函数按条件二选一:条件成立返回一个值,不成立返回另一个。多分支用嵌套 IF 或 IFS,多条件搭配 AND / OR。

IF 函数语法与参数结构

=IF(logical_test, value_if_true, [value_if_false])

IF 函数是电子表格逻辑判断的基石。条件成立时返回一个值,不成立时返回另一个值。

1 logical_test
必填

任何计算结果为 TRUE 或 FALSE 的逻辑条件或表达式(例如 A2 >= 90、B2 = "Pending" 或 C2 > AVERAGE(C$2:C$10))。

2 value_if_true
必填

当 logical_test 条件成立(TRUE)时返回的结果。可以是双引号包裹的文本(如 "Pass")、数值、单元格引用或另一个公式。

3 value_if_false
选填

当 logical_test 条件不成立(FALSE)时返回的结果。若省略且条件不符则返回 FALSE;在多阶梯等级中,此处通常接续下一个嵌套 IF。

经典面试阶梯示例:分数换算字母等级

=IF(A2>=90, "A", IF(A2>=80, "B", IF(A2>=70, "C", "D")))

阈值必须由高到低依次评估(先 90,再 80,再 70)。因为一旦前面的条件成立,后续分支就不会再执行。

如何在 Excel 中写 IF 函数

  1. 先写条件(logical_test) — 想清楚要判断什么:例如 A2>=90 的及格线、B2="Done" 的状态比对。条件的计算结果必须是 TRUE 或 FALSE。
  2. 写两个返回值 — value_if_true 是条件成立时的结果,value_if_false 是不成立时的结果;文本要加英文双引号。
  3. 多分支用嵌套 IF 或 IFS — 一个 IF 只能二选一;多个阈值把下一个 IF 写进 value_if_false 逐级嵌套,新版 Excel 也可直接用 IFS 函数。

IF + AND / OR:一个 IF 判断多个条件

IF 的条件位本身只能放一个逻辑测试;把 AND 或 OR 套在条件位,就能一次检查多个单元格、多个阈值:

=IF(AND(A2>=60, B2>=60), "Pass", "Fail")

AND:所有条件都为 TRUE 才算成立——例如两科成绩都 ≥60 才显示 Pass。

=IF(OR(A2>=90, B2>=90), "Pass", "Retry")

OR:任意一个条件为 TRUE 即成立——例如任一科 ≥90 就通过。

IF 判断文本包含与空白单元格

IF 没有直接的「包含」参数,经典写法是用 SEARCH 找位置,再用 ISNUMBER 转成 TRUE/FALSE 交给 IF:

=IF(ISNUMBER(SEARCH("urgent", A2)), "Priority", "Normal")

SEARCH 在 A2 中搜索 "urgent"(不区分大小写,找到返回位置数字,找不到报错);ISNUMBER 把结果转成 TRUE/FALSE。需要区分大小写时把 SEARCH 换成 FIND。

实战练习:判断单元格是否包含文本 →
=IF(A2<>"", "已填写", "未填写")

判断不为空:<>"" 表示「不等于空」。反向判断空白单元格可用 ISBLANK(A2)。

嵌套 IF 与现代 IFS 的差异

嵌套 IF

兼容性最佳,适用于所有旧版工作簿与面试考题。从最高阈值自上而下阅读,先符合者优先胜出。

IFS 函数

现代 Excel 与 Google Sheets 多条件写法更简洁:=IFS(A2>=90,"A", A2>=80,"B", A2>=70,"C", TRUE,"D"),可避免括号层层嵌套。

常见错误与注意事项

  • 阈值顺序 — 判断顺序极为关键:若先写 A2>=70 返回 C,则 95 分也会直接判定为 C,务必按从高阈值到低阈值排列。
  • 文本引号 — 文本结果必须加英文半角双引号:"A",若写裸 A 会被 Excel 视为无效变量或列名而抛出 #NAME? 错误。
  • 空白单元格 — 空白单元格判断:在 Excel 中空白单元格与数值 0 比较可能产生非预期结果,必要时搭配 ISBLANK 检查。

IF 函数入门实战:等级计算器

直接在下方锁定迷你表格中敲入嵌套 IF 公式验证,获得毫秒级判题反馈,或打开独立全屏页面练习。

打开独立练习题页 →
题目说明
提示 0/3
官方解法 1
–
测试用例
1
2
3
重置
提交
fx
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
正在加载交互式电子表格...
正在准备单元格数据与公式求解引擎
○ 就绪 请在高亮的目标单元格输入公式,然后点「提交」。

相关实战练习推荐

在真实业务情境的迷你电子表格中,尝试更多函数组合与逻辑挑战,加深肌肉记忆。

常见问题

IF 公式的语法是什么?

使用 =IF(logical_test, value_if_true, value_if_false)。例如 =IF(A2>=60, "Pass", "Fail"):A2 不低于 60 返回 Pass,否则返回 Fail。

Excel 里怎么写 IF 函数?

先写条件,再写两个结果:=IF(A2>=90, "A", "B")。超过两个结果时,把下一个 IF 嵌套写进 value_if_false;新版 Excel 与 Google Sheets 也可直接用 IFS 函数。

IF 怎么搭配 AND、OR 判断多个条件?

把 AND/OR 嵌进条件位:=IF(AND(A2>=60, B2>=60), "Pass", "Fail") 要求两个条件都成立;换成 OR 则任一成立即可。

IF 如何判断单元格包含某段文本?

用 ISNUMBER 包住 SEARCH:=IF(ISNUMBER(SEARCH("urgent", A2)), "Priority", "Normal")。SEARCH 不区分大小写,需要区分时改用 FIND。

IF 如何判断单元格不为空?

与空文本比较:=IF(A2<>"", "已填写", "未填写")。直接判断是否为空可用 =IF(ISBLANK(A2), "为空", "有值")。

IF、COUNTIF、SUMIF 有什么区别?

IF 按条件二选一返回值;COUNTIF 统计满足条件的单元格个数;SUMIF 汇总满足条件的数值。三者经常配合:COUNTIF/SUMIF 负责聚合,IF 负责逐行判断。

什么时候用嵌套 IF、什么时候用 IFS?

嵌套 IF 兼容性最好;现代 Excel / Sheets 若有多个分支,IFS 更清晰。

为什么嵌套 IF 返回了错误的等级?

顺序很重要。请把最高阈值放在最前面,让先成立的条件优先生效。