Excel函数公式:三种逻辑关系运算

在Excel中,可以使用逻辑函数对单个或多个表达式的逻辑关系进行判断,但会一个逻辑值。常用的逻辑关系有3种,即:"与"、"或"、"非",与之相对应的分别是AND函数、OR函数和NOT函数。


对于AND函数,如果所有条件参数的逻辑值都为真,则返回TURE,只要有一个参数的逻辑值为假,则返回结果FALSE,在逻辑上称为"与运算"。

如下示例:我们要判断35岁以下科员的人选,D4公式如下

=IF(AND(B4<35,C4="科员"),"满足","")

Excel函数公式:三种逻辑关系运算


对于OR函数,如果所有条件参数的逻辑值都为假,则返回FALSE,只要有一个参数的逻辑值为真,则返回结果TURE,在逻辑上称为"或运算"。

如下示例:我们判断职称是科员或专员的人选,E4公式如下

=IF(OR(C4="科员",C4="专员"),"满足","")

Excel函数公式:三种逻辑关系运算


对于NOT函数,如果其条件参数的逻辑值都为真时返回结果为假,反之亦然,可以将表达式的原有逻辑值反转,在逻辑上称为"非运算"。


如下示例:我们判断职称是既不是科员又不是专员的人选,F4公式如下

=IF(NOT((C6="科员")+(C6="专员")),"满足","")

Excel函数公式:三种逻辑关系运算


从上述公式中,不难发现逻辑"与运算"可以使用AND函数或逻辑判断式之间的乘法进行判断,逻辑"或运算"可以使用OR函数或逻辑判断式之间的加法进行判断。但是,在统计人数时,会出现错误。例如B10单元格中输入以下公式将返回0

=SUMPRODUCT(--AND(B2:B7<35,C2:C7="科员"))

而C10单元格使用以下公式可以正确计算35岁以下科员的人数:

=SUMPRODUCT((B2:B7<35)*(C2:C7="科员"))

Excel函数公式:三种逻辑关系运算


同样,在D14单元格中,输入以下公式时返回1,结果也是不正确的:

=SUMPRODUCT(--OR(C2:C7="科员",C2:C7="专员"))

在E14单元格使用以下公式可以正确计算科员或专员的人数:

=SUMPRODUCT((C2:C7="科员")+(C2:C7="专员"))

Excel函数公式:三种逻辑关系运算


为什么会出现这种问题呢?原来这是由于AND函数、OR函数的运算结果只能是单值,而不能返回数组结果,因此当逻辑与、逻辑或运算需要返回多个结果时,必须使用数组间的乘法、加法运算。


此外,上图中职称只有3种,则可以利用NOT函数判断"非高级科员"来统计科员或专员的人数,例如E15单元格公式为:

=SUMPRODUCT(--NOT(C2:C7="高级科员"

与AND函数、OR函数不同的是,NOT函数可以返回数组结果,因此该公式可以正确计算。

Excel函数公式:三种逻辑关系运算


分享到:


相關文章: