乐于分享
好东西不私藏

办公软件Excel 信息与错误处理全攻略八(判断、容错、诊断…)

办公软件Excel 信息与错误处理全攻略八(判断、容错、诊断…)

让公式不再报错:空值检测、类型判断、错误分类,一篇讲透

写在前面:为什么需要信息函数

Excel公式出现#N/A#VALUE!#REF!时,不仅影响美观,还会导致:

  • 后续SUM计算结果错误

  • 图表无法正常显示

  • 数据透视表出问题

信息与错误处理函数就是帮你:提前发现异常、优雅处理错误、诊断问题根源。


一、ISBLANK —— 判断是否为空

语法=ISBLANK(单元格)

详细使用分析

  • 返回:TRUE(真空单元格) / FALSE(有内容)

  • 只认真空:连空格都算“有内容”

  • 公式返回的""(空字符串)也返回FALSE

三种“空”的对比

情况
ISBLANK
=A1=""
LEN(A1)=0
真空单元格
✅ TRUE
✅ TRUE
✅ TRUE
空格 " "
❌ FALSE
❌ FALSE
❌ FALSE(LEN=1)
公式返回""
❌ FALSE
✅ TRUE
✅ TRUE

经典应用

① 跳过空值进行计算=IF(ISBLANK(A2), "", A2*B2) — 真空时不计算

② 条件格式高亮空单元格(用公式规则)=ISBLANK(A1)

③ 数据录入必填项检查=IF(ISBLANK(B2), "请填写姓名", "OK")

⚠️ 注意公式返回的空字符串""不是真空,ISBLANK返回FALSE。如需判断“看起来为空”,用:=A1=""


二、ISNUMBER / ISTEXT —— 类型判断

语法=ISNUMBER(单元格)=ISTEXT(单元格)

详细使用分析

函数
返回TRUE的情况
返回FALSE的情况
ISNUMBER
数字、日期、时间
文本、错误、空、逻辑值
ISTEXT
文本、文本型数字、空字符串""
数字、错误、逻辑值

核心价值区分“看起来像数字”和“真是数字”

经典应用

① 检查VLOOKUP结果=IF(ISNUMBER(VLOOKUP(A2, 表, 2, 0)), "找到数字", "未找到或非数字")

② 文本与数字混列的汇总=SUMIF(区域, ISNUMBER(区域)) — 需用SUMPRODUCT变通

实际用法:=SUMPRODUCT(--ISNUMBER(A:A), A:A)

③ 判断是否为纯文本=IF(ISTEXT(B2), "文本", "非文本")

④ 清理文本型数字(转真数字)=IF(ISTEXT(A2), A2*1, A2) — 乘以1强制转换


三、ISERROR / ISNA —— 错误判断

语法=ISERROR(公式) — 任意错误返回TRUE=ISNA(公式) — 仅#N/A返回TRUE

详细使用分析

ISERROR 覆盖的错误类型#N/A#VALUE!#REF!#DIV/0!#NUM!#NAME?#NULL!

ISNA 专注 #N/A#N/A是VLOOKUP/HLOOKUP/MATCH查找不到的专属错误

对比表格

错误类型
ISERROR
ISNA
#N/A(查找不到)
✅ TRUE
✅ TRUE
#DIV/0!(除零)
✅ TRUE
❌ FALSE
#REF!(引用无效)
✅ TRUE
❌ FALSE
正常值
❌ FALSE
❌ FALSE

经典应用

① VLOOKUP完美容错(推荐用IFNA)=IFNA(VLOOKUP(E2, A:B, 2, 0), "未找到")

② 通用容错(ISERROR + IF)=IF(ISERROR(A1/B1), "计算错误", A1/B1)

③ 批量容错(IFERROR更简洁)=IFERROR(A1/B1, "计算错误") — ISERROR升级版

ISERROR vs IFERROR vs IFNA

函数
适用场景
ISERROR
配合IF做复杂分支判断
IFERROR
通用一键容错(推荐)
IFNA
专门处理VLOOKUP找不到

四、ERROR.TYPE —— 错误类型编号

语法=ERROR.TYPE(公式)

详细使用分析

返回1-9的数字,对应不同错误;无错误返回#N/A

错误编号对照表

编号
错误
含义
1
#NULL!
区域引用无交集
2
#DIV/0!
除以0
3
#VALUE!
类型错误(文本+数字)
4
#REF!
引用无效(删除了行列)
5
#NAME?
公式名称错误
6
#NUM!
数字溢出/无效
7
#N/A
值不可用(查找不到)
8
#GETTING_DATA
正在计算中

经典应用

① 自定义错误提示=CHOOSE(ERROR.TYPE(A1), "空交集","除零错","类型错","引用错","名称错","数字错","找不到值","计算中")

② 错误分类汇总(辅助列+透视表)

③ 复杂公式调试=IF(ISERROR(B2), ERROR.TYPE(B2), "正常") — 快速定位问题类型


五、TYPE —— 返回数据类型

语法=TYPE(单元格或公式)

详细使用分析

返回数字编码:

返回值
数据类型
示例
1
数字
100、日期、时间
2
文本
"Excel"、'123
4
逻辑值
TRUE / FALSE
16
错误值
#N/A、#VALUE!
64
数组
数组公式结果

⚠️ 注意:没有3,没有5-15,编码设计如此

经典应用

① 检查公式返回的类型(调试利器)=TYPE(VLOOKUP(A2, B:C, 2, 0)) — 看查出来是数字(1)还是文本(2)

② 避免类型不匹配=IF(TYPE(A2)=1, A2*0.1, "非数字,无法计算")

③ 区分错误类型(配合ERROR.TYPE)=IF(TYPE(A1)=16, ERROR.TYPE(A1), "不是错误")

TYPE vs IS类函数

需求
TYPE
ISNUMBER
返回信息
数字编码
TRUE/FALSE
判断数字
返回1
返回TRUE
可读性
需记编码
直观

推荐日常用IS类函数(TRUE/FALSE更直观),调试复杂公式时用TYPE。


综合实战:一套完整的数据清洗 + 容错检查

场景:从业务系统导出的销售数据,需清洗并汇总

原始数据可能的问题

  • 空白单元格

  • 文本型数字

  • #N/A(商品编码找不到)

  • #DIV/0!(单价为0)

分步处理

检查项
公式
目的
空单元格
=IF(ISBLANK(A2), "缺失编码", A2)
标记缺失
文本型数字
=IF(ISTEXT(B2), B2*1, B2)
转真数字
单价为0
=IF(单价=0, "无效", 金额)
避免除零
VLOOKUP找不到
=IFNA(VLOOKUP(编码, 价格表, 2, 0), "未定价")
容错
最终金额计算
=IFERROR(数量 * 单价, 0)
兜底容错

一键诊断公式=CHOOSE(TYPE(A2), "数字", "文本", "", "逻辑值", "",..., "错误", "数组")


速查总结表(建议收藏)

我想判断
用哪个函数
返回值
单元格真空
ISBLANK
TRUE/FALSE
是不是数字
ISNUMBER
TRUE/FALSE
是不是文本
ISTEXT
TRUE/FALSE
是不是任意错误
ISERROR
TRUE/FALSE
是不是#N/A
ISNA
TRUE/FALSE
错误类型编号
ERROR.TYPE
1~9
数据类型编码
TYPE
1/2/4/16/64

推荐搭配

场景
最佳组合
VLOOKUP查不到
IFNA或IFERROR
通用容错
IFERROR
区分错误类型
IF + ISERROR + ERROR.TYPE
检查数据类型
IF + ISNUMBER/ISTEXT
跳过真空计算
IF + ISBLANK

词源趣闻(助记)

  • IS = “是否为” (ISBLANK:是空白吗?)

  • IF = 如果(IFERROR:如果错误)

  • NA = Not Available(#N/A:不可用)

  • TYPE = 类型