📥 本章配套练习册(数据已录入、写完公式自动判分):点击下载 第07章-IFERROR函数-练习.xlsx
难度:⭐⭐ | 建议用时:25 分钟 | 前置知识:第06章 IF
本章学习目标
- 认识 Excel 的各种错误值及其含义
- 会用 IFERROR 把难看的错误值替换成友好的提示
- 掌握"先算,出错就兜底"的包装思维
一、这个函数是干什么的?
公式难免会出错:除以 0 出现 #DIV/0!,查找失败出现 #N/A!……满屏的 # 号既不美观,还会让引用它的其他公式连环出错。
IFERROR 的作用:让公式正常计算,一旦出错,就显示你指定的内容。相当于给公式买了一份"保险"。
生活化理解:IFERROR 就像灭火器——平时不干活(公式正常时它原样输出结果),着火时顶上去(公式出错时它显示你准备的替代品)。
二、语法结构
|
|
| 参数 | 说明 |
|---|---|
| 要计算的公式 | 任何可能出错的公式,如 B2/C2 |
| 出错时显示什么 | 错误时的替代内容:文字(加引号)、数字、或 "" 空白 |
执行逻辑:
|
|
三、基础示例(手把手)
示例1:除法错误的处理
销售表:B 列销售额,C 列销量,计算单价 = 销售额 ÷ 销量:
| A | B | C | |
|---|---|---|---|
| 1 | 产品 | 销售额 | 销量 |
| 2 | 产品A | 5000 | 10 |
| 3 | 产品B | 3000 | 0 |
| 4 | 产品C | 8000 | (空) |
在 D2 输入普通公式 =B2/C2 并向下填充:
- D2:5000÷10 =
500✓ - D3:3000÷0 =
#DIV/0!✗(除以零) - D4:8000÷空 =
#DIV/0!✗(空白当 0 处理)
用 IFERROR 包装:
|
|
结果:
- D2:
500(正常,IFERROR 不干预) - D3:
无销量 - D4:
无销量
解读:把整个除法 B2/C2 塞进第一个参数,它出错时才启用第二个参数。注意是"包装"——原公式原封不动放里面。
示例2:出错显示空白
|
|
出错时什么都不显示,表格最干净。
示例3:出错显示 0
|
|
出错按 0 处理,方便后续求和(文本"无销量"会让 SUM 忽略,0 则直接参与计算——按需要选择)。
四、进阶用法
1. IFERROR 能捕获所有错误
| 错误值 | 含义 | 典型场景 |
|---|---|---|
#DIV/0! |
除以零 | 除数是 0 或空 |
#N/A |
找不到值 | VLOOKUP/MATCH 查找失败(第13章重点) |
#VALUE! |
数据类型错误 | 拿文字做数学运算 |
#REF! |
引用失效 | 引用的行/列被删除 |
#NAME? |
名称错误 | 函数名拼错 |
#NUM! |
数值错误 | 如 DATEDIF 开始日期晚于结束日期 |
一个 IFERROR 通吃以上所有错误。
2. 黄金组合预告:IFERROR + VLOOKUP
第13章学 VLOOKUP 时会大量用到这个组合:
|
|
查找成功显示结果,查不到显示"查无此人",而不是冷冰冰的 #N/A。这是职场报表的标配写法。
3. IFERROR vs IF + ISERROR(了解即可)
老版本 Excel 没有 IFERROR,要写成 =IF(ISERROR(B2/C2),"",B2/C2)(公式要写两遍)。2007 版以后直接用 IFERROR 就行。
五、常见错误与注意事项
| 问题 | 说明 |
|---|---|
| 滥用 IFERROR 掩盖真错误 | IFERROR 会吞掉所有错误,包括函数名拼错这种本该发现的 bug。建议先让公式跑通,再加 IFERROR 做"体面处理" |
| 第二个参数忘加引号 | 显示文字要写 "无销量",不是 无销量 |
| 包装不完整 | 只包装了一半公式,如 =IFERROR(B2/C2,"")/D2 后面还可能出错 |
| 该报错的地方别用它 | 比如财务核对时,错误本身是重要信号,不应隐藏 |
六、练习题(请先独立完成)
练习数据准备
| A | B | C | |
|---|---|---|---|
| 1 | 产品 | 销售额 | 销量 |
| 2 | 产品A | 5000 | 10 |
| 3 | 产品B | 3000 | 0 |
| 4 | 产品C | 8000 | (留空) |
| 5 | 产品D | 4000 | 8 |
题目
| 题号 | 题目 | 在何处作答 |
|---|---|---|
| 1 | 不用 IFERROR,直接计算单价(销售额÷销量),向下填充,观察哪些行报错、报什么错 | D2 |
| 2 | 用 IFERROR 改写,出错时显示"无销量" | E2 |
| 3 | 用 IFERROR 改写,出错时显示空白 | F2 |
| 4 | 用 IFERROR 改写,出错时按 0 处理 | G2 |
| 5 | 思考:计算"均价占比"= 单价 ÷ 全部单价合计,如果第1题的 D3 是错误值,对合计有什么影响?(动手试试 =SUM(D2:D5)) |
—— |
| 6 | 拓展:A7 输入文字"苹果",B7 输入 =A7*2,观察错误,再用 IFERROR 改成"无法计算" |
B7 |
七、练习讲解(做完再看)
第1题讲解
=B2/C2 向下填充后:
- 产品A:500 ✓
- 产品B:
#DIV/0!(除以 0) - 产品C:
#DIV/0!(空白单元格作除数等同于 0) - 产品D:500 ✓
记住这个知识点:空白单元格参与数学运算时被当作 0。
第2~4题讲解
三题公式骨架相同,只是兜底内容不同:
|
|
选择标准:给人看的报表用前两种;还要继续参与计算的列用第三种。
第5题讲解
=SUM(D2:D5) 的结果是 #DIV/0!——错误会传染:只要区域里有一个错误值,SUM 也跟着报错。这就是为什么报表里要及时处理错误值。用第4题的 0 兜底后,SUM 就能正常算出 1000。
第6题讲解
"苹果"*2 报 #VALUE!(文本不能做乘法)。=IFERROR(A7*2,"无法计算") 显示"无法计算"。说明 IFERROR 不只管除法,任何错误都能兜住。
八、参考答案
| 题号 | 公式 | 产品A | 产品B | 产品C | 产品D |
|---|---|---|---|---|---|
| 1 | =B2/C2 |
500 | #DIV/0! | #DIV/0! | 500 |
| 2 | =IFERROR(B2/C2,"无销量") |
500 | 无销量 | 无销量 | 500 |
| 3 | =IFERROR(B2/C2,"") |
500 | (空) | (空) | 500 |
| 4 | =IFERROR(B2/C2,0) |
500 | 0 | 0 | 500 |
| 5 | =SUM(D2:D5) → 报错;改用第4题数据后为 1000 |
—— | —— | —— | —— |
| 6 | =IFERROR(A7*2,"无法计算") |
无法计算 | —— | —— | —— |
本章小结
=IFERROR(公式, 出错时显示的内容):正常时原样输出,出错时兜底- 空白单元格作除数 = 除以 0,会报
#DIV/0! - 错误值会传染给引用它的公式(如 SUM),要及时处理
- 别滥用 IFERROR 掩盖真正的 bug,先跑通公式再包装
下一章:第08章:COUNTIF 函数