使用逻辑函数可以对单个或多个表达式进行逻辑计算,然后返回一个逻辑值。

逻辑函数与乘法、加法运算

AND 函数、OR 函数和 NOT 函数分别对应“与”“或”和“非”3 种逻辑关系。

当所有参数为逻辑值真时,AND 函数返回 TRUE。只要有一个参数为逻辑值假,AND 函数就返回FALSE。

只要有一个参数为逻辑值真,OR 函数就返回 TRUE。当所有参数均为逻辑值假时,OR 函数返回FALSE。

如果参数为逻辑值真,NOT 函数返回 FALSE。如果参数为逻辑值假,NOT 函数就返回 TRUE。

参与四则运算时,逻辑值 TRUE 相当于数值 1,FALSE 相当于数值 0(零)。对于乘法运算,只要有一个乘数为 0,结果就为 0(零)。当所有乘数非零时,结果才非零,这与 AND 函数的逻辑关系是一致的。对于加法运算,只要有一个加数非零,结果就为非零。当所有加数为 0(零)时,结果为 0(零),这与 OR 函数的逻辑关系是一致的。因此在实际运用中,常用乘法代替 AND 函数,用加法代替 OR 函数。

示例 判断订单是否包邮

逻辑判断函数有哪几个 逻辑判断函数(1)

图13-5所示为某网店订单信息表的部分数据,根据规定,钻石会员订单金额大于 59 元或者其他会员订单金额大于 79元可以包邮。现要求根据订单的会员级别和金额,判断是否包邮。

D2 单元格输入以下公式,并将公式复制到 D2:D10 单元格区域。

=IF(OR(AND(B2=" 钻石会员 ",C2>59),AND(B2="

其他会员 ",C2>79))," 包邮 ","")

公式中的“AND(B2=”钻石会员”,C2>59)”部分判断订单是否满足会员级别为“钻石会员”且订单金额大于 59,若同时满足,则返回 TRUE,否则返回 FALSE。

公式中的“AND(B2=”其他会员”,C2>79)”部分判断订单是否满足会员级别为“其他会员”且订单金额大于 79,若同时满足,则返回 TRUE,否则返回 FALSE。

OR 函数以两个 AND 函数的运算结果作为参数,任意一个参数为 TRUE,即返回逻辑值TRUE。

最后用 IF 函数对不同的逻辑运算结果返回相应的结果。

使用乘法代替 AND 函数,加法代替 OR 函数,可得到相同的结果,公式如下。

=IF((B2=" 钻石会员 ")*(C2>59) (B2=" 其他会员 ")*(C2>79)," 包邮 ","")

IF 函数

IF 函数能根据第一参数逻辑值的“真”与“假”,返回预先定义的内容。当第一参数为 TRUE 或非 0 数值时,返回第二参数的值。反之,则返回第三参数的值。如果第三参数省略,将返回逻辑值FALSE。

IF 函数可以嵌套 64 层,从而可构造复杂的判断条件进行综合评测。在实际运用中,使用 IF 函数进行多条件判断,公式会非常冗长,逻辑也难以理清,可以用其他办法替代 IF 函数,使公式更加简洁。

示例 IF函数评定考核等级

图 13-6 展示了某公司员工考核成绩表的部分内容,需要根据考核成绩评定考核等级。成绩大于等于 90 分为优秀,大于等于 80 分为良好,大于等于 60 分为合格,其他为不合格。

逻辑判断函数有哪几个 逻辑判断函数(2)

C2 单元格输入以下公式,并将公式复制到 C2:C10 单元格区域。

=IF(B2>=90," 优秀 ",IF(B2>=80," 良好 ",IF(B2>=60," 合格 "," 不合格 ")))

如果成绩大于等于 90,返回“优秀”。如果不满足第一个条件,继续判断成绩是否大于等于80,满足条件,返回“良好”。如果也不满足第二个条件,继续判断成绩是否大于等于 60,满足条件,返回“合格”。如果以上条件均不满足,则返回“不合格”。

可以使用 LOOKUP 函数来完成考核评级,D2 单元格公式如下。

=LOOKUP(B2,{0,60,80,90;" 不合格 "," 合格 "," 良好 "," 优秀 "})

容错函数

在函数公式的应用中,由于多种原因常会返回错误值,为了使表格更加美观,往往需要屏蔽这些错误值的显示。

IFNA 函数和 IFERROR 函数可以屏蔽错误值,它们的语法如下。

逻辑判断函数有哪几个 逻辑判断函数(3)

参数 value 是需要检查错误的表达式。

当 value 参数为 #N/A 错误值时,IFNA 函数返回 value_if_na 参数的值,否则返回 value 参数本身。

当 value 参数为任意错误值时,IFERROR 函数返回 value_if_error 参数和值,否则返回 value 参数本身。

,