admin管理员组

文章数量:1530842

2024年7月8日发(作者:)

在平常运用函数的过程中常常会碰到以下内容,就是敲入函数却返回诸如:#N/A,

#VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, or #NULL!

这样一些错误值,如何办呢?今天咱们就开始讨论这个话题。

一般来讲这样的一些函数都会与IF函数挂钩在一起,如=IF(ISERR())等等,下

面还是通过例子来讲解比较容易理解。

A3 = FIND("b","He's metrosexual") -- 在第二个参数中没有字符"b", 所以

Find函数找不到, 结果就不是一个数字, 而是 "#VALUE!" (错误值)

A4 = IF(a*1>0,">0","<=0") -- "a"是字符, a*1导致出错, 所以结果是#NAME?

A5 = NA() -- 函数NA()是生成一个NA值 (#N/A)

FIND和IF的例子

#VALUE! =C2=FIND("b","He's metrosexual")

#NAME? =IF(A*1>0,">0","<=0")

#N/A =NA()

看到上面这么多的错误值,怎么区分呢?其实大家不用那么用心去记住这样的一

些值。常用的也无非是::#N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, or

#NULL!

只要记住:

判断是否是 #N/A 我们就用 “ISNA"

是否是其他错误(#VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, or #NULL! )我

们就用 “ISERR”

如果这样都懒得记, 就记住全部错误都可以用 “ISERROR”来判断

以下来详细的讲解这三个函数的用法:

他们的用法都是一样的. 非常简单, 只有1个参数, 这个参数可以是单元格的

引用或者一段公式, 当然也可以是一个值. 结果是TRUE或者FALSE.

ISNA () : 如果参数的结果为#N/A, 则结果TRUE, 否则结果是FALSE

ISERR() : 如果参数的结果是(#VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, or

#NULL! ), 则结果是TRUE, 否则结果是FALSE

ISERROR() : 如果参数的结果是(#N/A, #VALUE!, #REF!, #DIV/0!, #NUM!,

#NAME?, or #NULL! ), 则结果是TRUE, 否则结果是FALSE

所以“ISERR”和“ISERROR”的区别就是:“ ISERROR”比“ISERR”函数多判

断一个"#N/A"值 (也就是说: = ISERR(NA()) 的结果是FALSE; 而 =

ISERROR(NA())的结果是TRUE. 而ISNA就只能判断参数是不是#N/A.

下面我们来看看几个例子

例子1: 如下表, A9-A12为4个员工的名字, 现在需要找出名字中有"王"的员工,

并且在B列中显示"有王", 否则显示"没有王".

我们一步步来, 首先, 我们先用Find函数查找"王": = FIND("王", A9) , 然后往下

拖一下, 就看到如下的结果:

很明显, 大家可以看到其中两个员工名字里面有王, 另外两个没有. 所有Find

函数就得出了错误的结果(因为找不到) #VALUE! 这个结果我们可以用ISERR

函数来判断. 如果是错误值则说明没有找到, 则显示"没有王", 否则说明找到

了, 显示"有王". 所以函数就可以这么写:

B9 =IF(ISERR(FIND("王",A9)),"没有王","有王") ; 结果如下:

我们来解读一下这个函数 (如下): 如果Find函数没有找到"王"这个字, 则会

出错, 所以ISERR()函数的结果就会是TRUE, 即执行第二个参数, 显示"没有王

".

本文标签: 函数结果参数没有错误