Excel 判断对象是否为除#N/A外的错误值:ISERR函数

如果需要检测一个值是否为除#N/A以外的错误值,可通过ISERR函数实现。

ISERR函数的语法为:=ISERR(value),其中value参数为需要进行检验的数值。若检测参数为除#N/A以外的错误值,将返回逻辑值TRUE,否则返回FALSE。

下面举例说明ISERR函数的使用方法。

01 在“A2”单元格中输入需要测试的数据,本例输入值“#NUM!”。

02 在需要显示结果的单元格中输入公式:=ISERR(A2),然后按下“Enter”键确认即可。

alt

Excel 判断测试对象是否为#N/A错误值:ISNA函数

如果需要检测单元格中的值是否为#N/A错误值,可通过ISNA函数实现。

ISNA函数的语法为:=ISNA(value),其中value参数为需要进行检验的数值。若检测参数为#N/A错误值,将返回逻辑值TRUE,否则返回FALSE。

下面举例说明ISNA函数的使用方法。

01 在“A2”单元格中输入需要测试的数据,本例输入值“#N/A”。

02 在需要显示结果的单元格中输入公式:=ISNA(A2),然后按下“Enter”键确认即可。

alt

Excel 检测指定单元格是否为错误值:ISERROR函数

如果需要检测单元格中的值是否为错误值,可通过ISERROR函数实现。

ISERROR函数的语法为:=ISERROR(value),其中value参数为指定用于检测是否为错误值的数据。若检测参数为错误值,将返回逻辑值TRUE,否则返回FALSE。

下面举例说明ISERROR函数的使用方法。

01 在“A2”单元格中输入需要测试的数据,本例输入值“#N/A”。

02 在需要显示结果的单元格中输入公式:=ISERROR(A2),然后按下“Enter”键确认即可。

alt

Excel 返回错误值#N/A

如果需要直接返回错误值,可通过NA函数实现。NA函数的语法为:=NA()。此函数将直接返回错误值#N/A。NA函数中没有参数,但必须有括号,若在括号中输入了参数,将返回错误信息。

以在单元格中强制产生#N/A错误值为例,具体操作为:在需要输入#N/A错误值的单元格中输入公式:=NA(),然后按下“Enter”键确认即可。

alt

Excel 是否可以不打印错误值?

工作表中有错误值时,能否在打印时忽略错误值?

要求不能删除错误值,避免影响数据的完整性。

解题步骤

Excel的“页面设置”对话框中可以调整错误值的显示方式,具体操作步骤如下。

1.打开功能区的“页面布局”选项卡,然后单击“页面设置”组右下角的“页面设置”对话框启动器,弹出“页面设置”对话框。

2.打开“工作表”选项卡,单击“错误单元格打印为”右方的倒三角符号,然后从弹出的列表项中选择“<空白>”,设置界面如图8.13所示。

图8.13 指定错误值的处理方式

3.单击“确定”按钮保存设置,然后打印工作表,工作表中的所有错误值都不会被打印出来。

知识扩展

1.Excel对于打印单元格的错误值有4种处理方式,默认选项是“显示值”,表示单元格原本显示什么就打印什么;如果将选项调为“<空白>”,则表示打印时将错误值所在单元格打印为空白,要注意不是打印成“空白”二字;如果将选项调为“–”,表示用“–”代替原来的错误值;如果将选项调为“#N/A”,表示一切错误值都替换成“#N/A”。工作中最常用的是前两种打印方式。

2.本例和案例113有所不同,案例113是隐藏错误值,任何时候都不显示;本例是所有错误值在工作表中都正常显示,只是打印后不显示在纸张上,因此两个案例的目的有本质的区别。

Excel 可否隐藏所有的错误值?

图 5.18 中由于部分职工的产量数据还没有输入,计算产量排名时就只能得到错误值。现要求在不修改公式的前提下隐藏所有错误值,要如何实现?

图5.18 显示错误值的公式

解题步骤

隐藏错误值最简单的手段是让字符与单元格的背景色一致,主要有三种方法:第一种方法是采用条件格式实现,步骤如下。

1.选择C2:C11区域,然后单击功能区的“开始”→“条件格式”→“新建规则”,弹出“新建格式规则”对话框。

2.单击“使用公式确定要设置格式的单元格”,然后在下方的公式栏输入“=iserror(C2)”,最后单击“格式”按钮,弹出“设置单元格格式”对话框,操作界面如图5.19所示。

3.打开“字体”选项卡,将字体颜色修改为白色,然后打开“填充”选项卡,将单元格的填充颜色也修改为白色,最后单击“确定”按钮保存设置,并返回工作表界面,图 5.20 为设置字体颜色界面。

图5.19 指定公式条件

图5.20 设置颜色

设置好条件与格式后,返回工作表可以看到图 5.21 所示的效果,其中原本为错误值的单元格已经显示为空白。

图5.21 添加条件格式后的效果

第二种方法是采用定位工具直接选中包含错误值的单元格,然后修改单元格的字体颜色与背景色,让二者统一。这种方法操作比较简单,但是通用性不强,当区域中有新的单元格产生错误值时必须再次定位、设置颜色,因此不再详细阐述操作过程。

第三种方法是设置单元格的数字格式达成需求,步骤如下。

1.选择C2:C11区域,然后按组合键<Ctrl+1>,弹出“设置单元格格式”对话框。

2.单击分类项目表中的“自定义”,然后在右方的格式代码框中输入“[黑色]”,操作界面如图5.22所示。

图5.22 设置单元格的数字格式

3.单击“确定”按钮保存设置,同时返回工作表界面。

4.在“开始”选项卡中为选区指定字体颜色为白色,此时选区中的错误值将自动隐藏起来,效果如图5.23所示。

图5.23 将字体颜色改为白色后的效果

知识扩展

1.本例所讲的3种方法都是通过修改字符的颜色来实现隐藏的,因此选中单元格后,在编辑栏仍然可以看到单元格的原值。如果要求编辑栏中也无法看到,那么需要选择单元格的“锁定”复选框,然后保护工作表。

2.本例用到的格式代码“[黑色]”表示让单元格中的文字显示为黑色,但是此代码对错误值无效。然后将单元格的字体颜色设置为白色,它对所有值都生效。由于格式代码的权限高于单元格的字体色,因此单元格的执行顺序是先应用字体颜色,将所有单元格的值都显示为白色,然后应用格式代码,让非错误值显示为黑色,而错误值则仍然显示为白色。

3.格式代码“[黑色]”仅对中文版Office有效,如果使用英文版Office,只能用英文的格式代码。

Excel不显示错误值的技巧

逐次修正错误会导致效率低下

在输入订单的明细栏、单价等数据时,只要输入商品 No.就可以同时显示商品名和单价。如果预先可以设置这样的机制,就能快速推进工作了。同时,还能避免人工输入造成的错误。我们在 B 列中输入只要在 A 列中输入商品 No.,就能显示相应的商品名称的 VLOOKUP 函数。

➊ 在单元格 B2中输入以下 VLOOKUP 函数:

=VLOOKUP($A2,$E:$G,2,0)

➋ 按回车键确定,并将公式一直复制粘贴到最后一行。

如图所示,单元格中会出现“#N/A”这样的错误值。这是由于函数公式中存在错误所误造成的。若是在单元格 A2中输入1,就会从负责商品栏中导出对应的商品名称。

在单元格 A2中输入1,显示商品名

总而言之,由于插入的是以商品 No.为检索值的函数,如果 A 列中皆为空白单元格,自然就会出现错误。

如果是仅在公司内部使用的工作表,这样也没什么问题。但是,如果是制作报价单或订单的话,要尽可能避免这种错误值的出现。但是,只是单纯删去单元格中的函数,再次使用时还是需要重新输入公式,这样非常没有效率。

如结果有误,则返回空白值

这一问题,可以运用处理“计算结果有误的话,返回空白值”的函数公式来解决。这时,我们会用到 IFERROR 函数(Excel 2007之后的版本中具备的函数)。

通常都是因为先输入基本公式后,才发现有可能会有错误,再进行隐藏错误的处理。因此,输入公式时就要嵌入先前提到的 VLOOKUP 函数。最终,单元格 B2中要输入以下公式:

=IFERROR(VLOOKUP($A2,$E:$G,2,0),””)

➊ 选择单元格 B2,按F2 键,使单元格处于可编辑状态

➋ 在等号(=)之后输入“i”后出现候选菜单,选择第2个“IFERROR”。

➌ 按TAB 键确定后,补充输入=IFERROR(。

➍ 完成公式后按回车键确定,并将公式一直复制粘贴到最后一行,就可以隐藏错误值。

➎ 在 A 列中输入商品 No.,会自动显示商品名与单价的数据。

IFERROR 函数第二参数中,连续输入了2个引号””,这是指定空白值的意思。

把 B 列的公式复制到 C 列,VLOOKUP 函数第三参数改为3。

IFERROR 函数的特点在于,第一参数指定的函数为错误值时,就会返回第二参数指定的值。在这个例子中,第二参数指定的是空白值,因此也就设定了“第一参数的 VLOOKUP 函数若为错误值,显示为空白结果”这样的机制。

如使用2003之前的 Excel 版本的话,应该怎么做

只有在 Excel 2007之后的版本才可以使用 IFERROR 函数隐藏错误值。如果你的 Excel 是2003版之前的,可以使用下面的公式:

=IF(ISERROR(公式),””,公式)

ISERROR 函数可以检查括号内指定的公式是否为错误值。如果是则为“真”,否则返回“伪”值。以此为基础来解读 IF 函数,便可知其处理过程是这样的:第一参数的逻辑式若为真,也就是说 ISERROR 函数结果为真,则返回第二参数的空白值,否则将继续处理公式。

无需记住错误值的种类与意义

除了前文中提到的“#DIV/0!”,还有“#NAME?”、“#N/A”等在单元格里输入函数后出现的各种难以理解的内容。这些是“错误值”,表示你当前输入的函数中出现了问题或偏差。

错误值的种类有许多,但是不需要特意记住它们所表示的含义,只要会判断以下内容就足够了。

  • #N/A➛(VLOOKUP 函数的)检索值不存在
  • #DIV/0!➛以0位被除数
  • #REF!➛引用单元格已被删除

在错误值的处理问题上,最重要的是掌握设定不显示错误值的方法。