今天说另外一个逻辑函数and的用法,它是判断多个条件是否都成立,如果都成立,结果返回true,否则只要有1个条件不成立就返回false。它返回的结果也是逻辑值true或false。那么在说and函数之前,先说一下逻辑值是什么。 -01- 逻辑值 逻辑值只有true和false2个,true代表条件成立,false代表条件不成立。 形成逻辑值的方法有下面几种:
逻辑值在excel中是经常使用的,一定要掌握。 -02- and函数 语法结构如下,最多可以有255个参数。 AND(logical1,[logical2],...) logical1 必需 返回true或false的条件判断,可以是逻辑值,数组或引用。和if函数的第1参数是一样的,都是条件判断。 logical2 可选 其他返回true或false的条件判断(最多255个条件)。 and函数是检测所有的条件判断是否都是true,如果都是true,那么and函数返回true;只要有1个条件判断是false,and函数就会返回false。所以and函数是多条件【与】的关系,也就是且。 注意:
-03- 示例说明 如下图所示,A列是一些公式,B列是说明,C列是结果。看第1条公式=AND(TRUE,TRUE),在参数中不是直接写的条件判断,而是条件判断的结果,2个参数都是true,说明2个条件判断都是成立的,所以and函数返回true。 再看最后一条公式=AND(2>1,2=3),2个参数都是条件判断,2>1成立返回true,2=3不成立返回false。有1个条件判断是false,and函数就返回false。 -03- 具体应用 1.如果语文和数学都大于90分,那么为优秀,否则为空 如下图所示,已经用条件格式将满足条件的标记出来。很明显这是个多条件【与】的判断,可以用之前的if函数嵌套来完成,在F10单元格中输入公式=IF(B10>90,IF(C10>90,"优秀",""),""),向下填充。 如果用and函数来完成呢?在D10单元格中输入公式=IF(AND(B10>90,C10>90),"优秀",""),向下填充。首先用and函数判断语文和数学是否都大于90,也就是AND(B10>90,C10>90)这部分,如果2个条件都成立,and函数就返回true,否则返回false。外层再用if函数进行判断,成立的返回”优秀“,否则返回空。 另一种做法就是用数组,在E10单元格中输入公式=IF(AND(B10:C10>90),"优秀",""),按ctrl+shift+enter三键。 B10:C10>90这部分是将语文和数学的分数与90分比较,形成一个逻辑值组成的数组{TRUE,TRUE};然后用and函数判断2个参数是否都为true,如果都为true,and返回true,否则and返回false;最后用if函数进行判断,是true,就返回"优秀",否则返回空。 2.员工提成计算问题 这是一个群友的问题,简单来说就是人数小于4人且人均消费大于等于70元,可提成10元;或者人数大于等于4人且人均消费大于等于60元,可提成10元。这个问题既有多条件【与】的关系,又有【或】的关系。虽然还没有学【或】的关系也就是or函数,但可以用if的嵌套来完成。 在E3单元格中输入公式=IF(AND(D3<4,B3/D3>=70),10,IF(AND(D3>=4,B3/D3>=60),10,)),向下填充。在这个公式中,if的第1参数是个and函数,嵌套的if函数第1参数也是个and函数。 AND(D3<4,B3/D3>=70)这部分就是判断人数小于4且人均消费大于等于70,如果这2个条件都成立,and返回true,那么if函数就返回10。否则这2个条件有1个不成立,and返回false,if函数返回嵌套的if接着对另外2个条件判断。 AND(D3>=4,B3/D3>=60)这部分就是判断人数大于等于4且人均消费大于等于60,如果这2个小于都成立,and返回true,嵌套的if返回10。否则这2个条件有1个不成立,and返回false,嵌套的if返回0。这样就判断完成。 简单来说,人数小于4人且人均消费大于等于70元,这2个条件是【与】的关系,可以把它们看成一个组;人数大于等于4人且人均消费大于等于60元,这2个条件也是【与】的关系,可以把他们看成第2组。然后第1组和第2组是【或】的关系。 文件链接: https://pan.baidu.com/s/1X8xncIZn6f-37SnZyK9VBw 提取码:m0bt |
|