EP01. “IfError IFERROR 函数”
🔒 登录后可标记已读- IFERROR 用来「拦截」公式算出来的错误,改用你指定的替代结果取代原本丑陋的错误代码
- 讲基础用法和搭配 VLOOKUP 的常见场景
- 前置知识不多
- 学完能让表格在出错时不再直接显示 #DIV/0!、#N/A 这类看不懂的代码
重点内容
适用版本
桌面版通用(Excel 365 / 2021 / 2019 等)。
IFERROR 和 IFNA 怎么选
| 函数 | 拦截范围 | 适合场景 |
|---|---|---|
| IFERROR | 拦截所有类型错误 | 不在意是哪种错误,只想有替代结果 |
| IFNA(见 EP08) | 只拦截 #N/A | 只想处理「查无结果」,不想连公式写错都被悄悄掩盖 |
基础用法:除以 0 的错误
- 一般除法公式
=A1/B1,如果 B1 是 0,会得到#DIV/0!错误 - 改用
=IFERROR(A1/B1,"error"),遇到错误时会显示 "error" 这段文字,而不是错误代码 - 如果公式本身没有错误,IFERROR 会直接返回正常的计算结果
搭配 VLOOKUP:查无结果时显示友善提示
VLOOKUP找不到匹配项时会返回#N/A错误- 用 IFERROR 包住:
=IFERROR(VLOOKUP(A1,B1:C10,2,FALSE),"Not found") - 如果 VLOOKUP 有找到匹配项,IFERROR 会直接返回查找到的结果;找不到才会显示 "Not found"
IFERROR 能拦截的错误类型
#DIV/0!、#N/A、#VALUE!、#REF!、#NUM!、#NAME?、#NULL! 都会被 IFERROR 拦截。
[截图:#DIV/0!、#N/A、#VALUE!、#REF!、#NUM!、#NAME?、#NULL! 这几种错误值分别在单元格里显示的样子]
函数速查
| 函数 | 语法 | 用途 | 例子 |
|---|---|---|---|
| IFERROR | =IFERROR(value,value_if_error) | 出错时返回替代结果 | =IFERROR(A1/B1,"error") |
学完你会
- ✅ 能用 IFERROR 把公式出错时的丑陋错误代码换成友善提示
- ✅ 能用 IFERROR 包住 VLOOKUP,处理查无结果的情况
- ✅ 知道 IFERROR 会拦截所有类型错误,只想拦截 #N/A 时该改用 IFNA
常见错误
- IFERROR 会拦截所有类型的错误,如果只想拦截 #N/A(例如 VLOOKUP 找不到),用 IFERROR 可能会把其他类型的错误(比如公式本身写错)也一起吃掉,不容易发现问题,这种情况该用更精准的 IFNA(见 EP08)
- 把「error_value」参数写成公式而不是简单的值,导致替代结果本身又出错
- 过度依赖 IFERROR 掩盖错误,没有回头检查公式本身为什么会出错
Sources
Blog / Website: