AND、OR函数详解

AND、OR函数详解excel公式教程and函数or函数分类:Excel公式教程-函数篇 【语法1】AND执行逻辑与运算:所有参数都是TRUE,则返回TRUE;只要

大家好,欢迎来到IT知识分享网。

_Excel公式教程

转载

标签: excel公式教程 and函数 or函数分类: Excel公式教程-函数篇

语法1AND(logical1,[logical2],…)

执行逻辑与运算:所有参数都是TRUE,则返回TRUE;只要有一个参数是FALSE,即返回FALSE。

语法2OR(logical1,[logical2],…)

执行逻辑或运算:所有参数都是FALSE,则返回FALSE;只要有一个参数是TRUE,即返回TRUE。

两个函数都可以包含若干个参数。受不同版本对函数个数的限制,2003版最多允许30个参数,2007版开始允许参数多达255个。

各个参数既可以是单值,也可以是数组。

对于单值参数,要求是一个逻辑值。根据数值类型自动转换的规律,非0的数字值、文本值”TRUE”可被视作逻辑值TRUE;数字值0、文本值”FALSE”可被视作逻辑值FALSE。因此:

=AND(TRUE,”FALSE”) 返回FALSE

=OR(FALSE,3) 返回TRUE

而对于数组参数,只把其中的非0数字值转换为TRUE,把数字值0转换为FALSE,而忽略其中的文本值”TRUE”和”FALSE”,也忽略空单元格(不会把空单元格转换为FALSE)。

假设单元格A1是文本值=”FALSE”,A2是数字值3,A3是空单元格,A4是文本值=”TRUE”,则

=AND(A1:A4) 返回TRUE

=OR(A3:A4) 将因为引用范围内没有可以转换为逻辑值的数据,所以返回错误值#VALUE!

=AND(A3) 也返回#VALUE!

这两个函数因为具有处理数组参数的能力,所以参数即使是对一个单元格的引用,该参数也作为数组来处理,而不是单值

另外,只要其中任意一个参数返回了错误值,函数就返回错误值。例如:

=AND(TRUE,#DIV/0!,1) 返回错误值#DIV/0!

如果有多个参数都返回错误值,而且是不同的错误值,则返回第一次出现的错误值,例如:

=AND(TRUE,#NUM!,#DIV/0!) 返回错误值#NUM!

用法

一、进行基本的逻辑运算。参数通常是由比较运算、IS类函数等返回的逻辑值。

例如,以下公式判断单元格A1的值是不是大于等于80且小于90,是则返回“优良”,否则返回空文本:

=IF(AND(A1>=80,A1<90),”优良”,””)

以下公式判断单元格A1的值是不是小于5,或者大于8:

=IF(OR(A1<5,A1>8),”区间外”,”区间内”)

注意不要把AND(A1>=80,A1<90)写成80<=A1<90,也不要把OR(A1<5,A1>8)写成5>A1>8。为什么呢?请参阅:http://blog.sina.com.cn/s/blog_14e89401f0102wbhh.html

二、参数可以使用三维引用。对三维引用中的单值的处理方法与数组参数相同,即只把其中的非0数字值转换为TRUE,把数字值0转换为FALSE,而忽略其中的文本值”TRUE”和”FALSE”,也忽略空单元格。

假设两个相邻的工作表Sheet2、Sheet3的B3:C4区域都是数字值,下面的公式可检测区域内有没有零值:

=AND(Sheet2:Sheet3!B3:C4)

如果区域内没有零值,公式返回TRUE,如果有零值,公式返回FALSE。

而下面的公式则检测区域内有没有非零值:

=OR(Sheet2:Sheet3!B3:C4)

如果区域内有非零值,公式返回TRUE,如果全是零值,公式返回FALSE。

由于区域内的文本值和空单元格会被忽略,这个例子适用于区域内的单元格都是公式,且公式返回值都是数字值的情况。

三、根据数值类型自动转换的规律,逻辑运算可以写成算术运算。

(一)逻辑与运算可以写成把逻辑值相乘,例如:

AND(logical1,logical2,…) 可以写成logical1*logical2*…

逻辑值用于乘法运算,TRUE被转为数字1,FALSE被转为数字0来计算。因此,只要有一个逻辑值为FALSE,计算结果即为0,否则计算结果为1。

上面的公式可以写成:

=IF((A1>=80)*(A1<90),”优良”,””)

(二)逻辑或运算可以写成把逻辑值相加,例如:

OR(logical1,logical2,…) 可以写成logical1+logical2+…

逻辑值用于加法运算,TRUE被转为数字1,FALSE被转为数字0来计算。因此,只有全部逻辑值都是FALSE,计算结果才为0,否则计算结果为一个正整数。

如果想结果是1或0,可以写成SIGN(logical1+logical2+…)。

上面的公式可以写成:

=IF((A1<5)+(A1>8),”区间外”,”区间内”)

(三)逻辑值进行AND、OR逻辑运算,与进行乘法、加法算术运算的区别在于:当logical是区域引用或数组的时候,由于AND、OR函数具有处理数组参数的能力,所以AND、OR函数不会进行数组运算,计算结果只会是一个单值;而算术运算可以进行数组运算,所以计算结果可以是一个数组。

假设单元格A1是一个家电产品的名称、品牌、型号(比如输入“海尔电视机”)。

在单元格C1输入以下数组公式,可判断A1是不是“海尔”“美的”“松下”以外的品牌:

{=AND(ISERR(FIND({“海尔”,”美的”,”松下”},A1)))}

在单元格C1输入以下数组公式,判断A1是不是“海尔”“美的”“松下”其中的一个品牌:

{=OR(ISNUMBER(FIND({“海尔”,”美的”,”松下”},A1)))}

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/69317.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信