逻辑函数or的用法(多条件“或”的关系)
今天来说or函数的用法,实际就是“或”的意思。它和and函数一样也是个逻辑函数,有255个参数。它的作用也是对多个条件进行判断,如果任一参数值为true,那么它就返回true;只有当所有参数值都为false时,才返回false。简单来说就是,只要有一个条件成立,它就成立;否则所有条件都不成立时,它才不成立。
-01-
函数说明
语法结构如下,可以有255个参数。
OR(logical1, [logical2], ...)
Logical1 必需 第一个想要测试且计算结果为TRUE或FALSE的条件。
[logical2] 可选 其他想要测试且计算结果为TRUE或FALSE的条件(最多 255 个条件)。
注意:
参数必须计算为逻辑值,如 TRUE 或 FALSE,或者为包含逻辑值的数组或引用。
如果数组或引用参数中包含文本或空白单元格,则这些值将被忽略。
如果指定的范围不包含逻辑值,则 OR 返回 #VALUE! 错误值。
可使用 OR 数组公式来查看数组中是否出现某个值。若要输入数组公式,请按 CTRL+SHIFT+ENTER。如果OR函数多个参数都是数组,它只返回1个值,而不是一个数组。
-02-
示例解释
如下图所示,A列是公式,B列是说明,C列是结果。先看第3个公式=OR(1=1,1>2),有2个条件判断,1=1成立返回true,1>2不成立返回false。有1个参数的值为true,or函数就返回true。这2个条件之间是“或”的关系,要么1=1成立,要么1>2成立,有1个成立,or就返回true。

再看最后一个公式=OR(1=2,2=3),也是2个条件判断。1=2不成立,2=3也不成立。本来有1个条件成立就能返回true,现在1个条件都不成立,只能返回false。
-03-
具体应用
1.判断是否为满分。
判断的条件是只要语文和数学有一科是100,就判断为满分。很明显这是个多条件“或”的关系,要么语文是100,要么数学是100。先用if函数来完成,在F8单元格中输入公式=IF(B8=100,"满分",IF(C8=100,"满分","")),向下填充。

这里if函数就不再说明了,可以看以前的文章。你如果看过上一篇and函数的文章,会发现不管是多条件“与”的关系还是多条件“或”的关系,都可以用if的嵌套来完成。
下面用or函数来完成,在D8单元格中输入公式=IF(OR(B8=100,C8=100),"满分",""),向下填充。首先用or函数来判断是否有一科是等于100,也就是OR(B8=100,C8=100)这部分。如果有1科等于100,那么or函数返回true;外面再用if函数判断,如果是true,返回“满分”,否则就是空。
还可以用or函数的数组方式来完成,在E8单元格中输入公式=IF(OR(B8:C8=100),"满分",""),按ctrl+shift+enter三键,这样公式还短一点。or函数的参数是一个数组,也就是比较语文和数学2科分数是否等于100,形成一个数组{FALSE,TRUE}。再用or函数判断是否有成立的,有1个成立的,or就返回true,接着用if函数判断。
在注意事项的最后一条说到:可使用 OR 数组公式来查看数组中是否出现某个值,其实OR(B8:C8=100)就是判断B8:C8这个区域中是否有100,如果有,那么or函数返回true。反过来说,如果or函数的结果为true,那么也可以反推B8:C8这个区域中一定包含100。
2.员工提成计算问题
还是昨天那个问题,人数小于4人且人均消费大于等于70元,可提成10元;或者人数大于等于4人且人均消费大于等于60元,可提成10元。昨天用if函数的嵌套来完成,今天用and和or来完成。在E20单元格中输入公式=IF(OR(AND(D20<4,B20/D20>=70),AND(D20>=4,B20/D20>=60)),10,),向下填充。

这个公式的意思就不说了,下面说说它们的关系,只要你明白了关系,意思自然就明白了。如下图所示,人数小于4和人均消费大于等于70要同时满足,是“与”的关系,用and函数;人数大于等于4和人均消费大于等于60也是“与”的关系,同样用and函数;而这2个and函数不是同时满足,所以它们是“或”的关系,用or函数。

所以公式就成这样 了:OR(AND(D20<4,B20/D20>=70),AND(D20>=4,B20/D20>=60)),最后用if判断。