数据分析从入门到进阶
上QQ阅读APP看书,第一时间看更新

2.2.4 经典的逻辑判断函数

逻辑判断函数是指进行真假值判断,或者进行复合检验的一类逻辑函数。常见的逻辑判断函数包括AND、OR、NOT、IF、IFERROR、IS系列(包括ISERROR、ISTEXT、ISNUMBER等)。IF函数经常用于多个条件的嵌套判断,例如,根据销售人员的业绩范围判断销售提成系数。此外,AND、OR函数可以用来对多个条件进行检查判断,例如,销售员小李同时满足业绩达到20万元和成交件数达到3单就可以晋升,此时可以用IF函数结合AND函数进行逻辑判断。下面通过实例对常用的逻辑判断函数进行说明。

1.AND函数

功能说明:检查是否所有的参数均为TRUE,如果所有的参数值均为TRUE,则返回TRUE。

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

参数:

● logical1必须。逻辑表达式1。

● [logical2], … 可选。逻辑表达式2等。

示例:区域A2:A5是逻辑判断的公式,区域B2:B5是公式的结果。

公式与步骤:

示例一:单元格B2内输入公式“=AND(1>2,2>1)”。

示例二:单元格B3内输入公式“=AND(2>1,1)”。

示例三:单元格B4内输入公式“=AND(-1,1)”。

示例四:单元格B5内输入公式“=AND(1,0,2)”,结果如图2-64所示。

图2-64 AND函数

提示:

● 数值0作为参数的逻辑值被当成FALSE使用。

● 非0数值作为参数的逻辑值被当成TRUE使用。

● 任意一个参数的逻辑值出现FALSE(或者数值0)的时候,结果返回FALSE。

● 所有的参数的逻辑值都是TRUE的时候,结果返回TRUE。

2.OR函数

功能说明:如果任意参数为TRUE,即返回TRUE;只有当所有的参数值均为FALSE时才返回FALSE。

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

参数:

● logical1必须。逻辑表达式1。

● [logical2], … 可选。逻辑表达式2等。

示例:

区域A2:A5是逻辑判断的公式,区域B2:B5是公式的结果。

公式与步骤:

示例一:单元格B2内输入公式“=OR(1>2,2>1)”。

示例二:单元格B3内输入公式“=OR(2>1,1)”。

示例三:单元格B4内输入公式“=OR(-1,1)”。

示例四:单元格B5内输入公式“=OR(FALSE,0)”,结果如图2-65所示。

图2-65 OR函数

提示:

● 任意一个参数的逻辑值出现TRUE(或者非0数值)的时候,结果返回TRUE。

● 所有的参数的逻辑值均为FALSE的时候,结果返回FALSE。

3.NOT函数

功能说明:对参数的逻辑值求反:参数为TRUE时返回FALSE,参数为FALSE时返回TRUE。

语法:NOT(logical)

参数:logical必须。逻辑表达式。

示例:区域A2:A5是逻辑判断的公式,区域B2:B5是公式的结果。

公式与步骤:

示例一:单元格B2内输入公式“=NOT(TRUE)”。

示例二:单元格B3内输入公式“=NOT(FALSE)”。

示例三:单元格B4内输入公式“=NOT(1>2)”。

示例四:单元格B5内输入公式“=NOT(2+2=4)”,结果如图2-66所示。

图2-66 NOT函数

4.IF函数

功能说明:判断是否满足某个条件,如果满足返回一个值,如果不满足则返回另外一个值。

语法:IF(logical_test,[value_if_true],[value_if_false])

参数:

● logical_test必须。可以为数值或逻辑表达式。

● value_if_true可选。当logical_test为TRUE时返回的结果。

● value_if_false可选。当logical_test为FALSE时返回的结果。

示例:以某学校的学生信息成绩表为例,数据如表2-5所示。字段包括班级、姓名、性别、成绩,数据位于区域A1:D8。要求根据成绩score判断得分等级,score小于60分的判定为不及格,score大于等于60分且小于85分判定为及格,score大于等于85分判定为优秀。

表2-5 学生信息成绩表

公式与步骤:

方法一:单元格E3内输入公式“=IF(D3<60,"不及格",IF(D3<85,"及格","优秀"))”,然后向下拖拽复制公式。

方法二:单元格F3内输入公式“=IF(D3>=85,"优秀",IF(D3>=60,"及格","不及格"))”,然后向下拖拽复制公式,结果如图2-67所示。

图2-67 IF函数

提示:IF函数可以进行多层嵌套判断,如果是需要满足多个条件进行判断,可以嵌套AND函数作为logical_test的参数。

5.IFERROR函数

功能说明:如果表达式是一个错误,则返回value_if_error,否则返回表达式自身的值。

语法:IFERROR(value,value_if_error)

参数:

● value必需。检查是否存在错误的参数。

● value_if_error必需。公式的计算结果错误时返回的值。

示例一 将错误值处理成0:以某企业的产品销售表为例,数据如表2-6所示。字段包括产品类型、销售额。数据位于区域A1:B5。要求将区域B2:B5的错误值处理成0。

表2-6 产品销售表

公式与步骤:单元格F2内输入公式“=IFERROR (B2,0)”,然后向下拖拽复制公式,结果如图2-68所示。

图2-68 IFERROR函数—示例一

示例二 统计所有产品销售额之和:以某企业的产品销售表为例,数据如表2-6所示。字段包括产品类型、销售额。数据位于区域A1:B5。要求对区域B2:B5的销售额进行求和计算。

公式与步骤:

方法一:单元格F2内输入数组公式“{=SUM(IFERROR(B2:B5,0))}”。

方法二:单元格F3内输入公式“=SUMIF(B2:B5,"<9e307")”,结果如图2-69所示。

图2-69 IFERROR函数—示例二

提示:

● 方法一是用IFERROR函数将所有错误值处理成0,然后用SUM函数进行数组求和。

● 方法二的SUMIF函数省略了求和区域的参数,以条件区域B2:B5作为求和区域,求和条件是"<9e307",剔除错误值,对其余数值求和。

6.ISERROR函数

功能说明:检查一个值是否为错误(#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?、#NULL!),结果返回TRUE或FALSE。

语法:ISERROR(value)

参数:value必需。判断是否为错误值的参数。

示例一 判断数值是否为错误值:以某店铺的商品销售表为例,数据如表2-7所示。字段包括商品名称、销量。数据位于区域A1:B6。要求判断B2:B6区域数据是否为错误值,如果是错误值用1表示,否则用0表示。

表2-7 商品销售表

公式与步骤:单元格F2内输入公式“=IF (ISERROR (B2),1,0)”,向下拖拽复制公式,结果如图2-70所示。

图2-70 ISERROR函数—示例一

示例二 统计错误值的个数:以某店铺的商品销售表为例,数据如表2-7所示。字段包括商品名称、销量。数据位于区域A1:B6。要求统计区域B2:B6中错误值的个数。

公式:

方法一:单元格F2内输入数组公式“{=SUM(ISERROR(B2:B6)+0)}”。

方法二:单元格F3内输入数组公式“{=SUM(ISERROR(B2:B6)*1)}”。

方法三:单元格F4内输入公式“=SUMPRODUCT(ISERROR(B2:B6)+0)”。

方法四:单元格F5内输入公式“=SUMPRODUCT(ISERROR(B2:B6)*1)”,结果如图2-71所示。

图2-71 ISERROR函数—示例二

提示:

● 方法一和方法二是利用ISERROR函数对区域B2:B6中的数据进行判断,返回一个布尔值数组,然后通过加数值0或乘以数值1的方法,将布尔值数组转换为数值0和数值1组成的数组,最后按〈Ctrl+Shift+Enter〉组合键生成统计结果。

● 方法三和方法四是也是利用ISERROR函数对区域B2:B6中的数据进行判断,返回一个布尔值数组,然后通过加数值0或乘以数值1的方法,将布尔值数组转换为数值0和数值1组成的数组,最后用SUMPRODUCT函数对数组进行交叉乘积求和。

7.ISTEXT函数

功能说明:检查一个值是否为文本,返回TRUE或FALSE。

语法:ISTEXT(value)

参数:value必需。要判断测试的值。

示例:判断区域A2:A4中的数值是否为文本。

公式与步骤:单元格E2内输入公式“=ISTEXT(A2)”,然后向下拖拽复制公式,结果如图2-72所示。

图2-72 ISTEXT函数

8.ISNUMBER函数

功能说明:检查一个值是否为数值,返回TRUE或FALSE。

语法:ISNUMBER(value)

参数:value必需。要判断测试的值。

示例:判断区域A2:A4中的数值是否为数值。

公式与步骤:单元格E2内输入公式“=ISNUMBER(A2)”,然后向下拖拽复制公式,结果如图2-73所示。

图2-73 ISNUMBER函数

以上是对逻辑判断函数的简单介绍,并采用示例对函数进行了功能讲解,下面的逻辑判断函数案例一~案例二是逻辑判断函数的应用扩展。

9.逻辑判断函数案例一

案例说明:一般企业对于销售人员的转正晋升都有相当严格的考核。以某企业的销售业绩考核标准为例,销售人员如果达到企业制定的标准就可以实现转正或晋升,销售业绩考核标准如表2-8所示。

表2-8 业绩考核标准

公式与步骤:单元格E2内输入公式“=IF(AND(B2<=2,D2>=5),"转正",IF(AND(B2>2, D2>=10),"晋升",""))”,然后向下拖拽复制公式,结果如图2-74所示。

图2-74 逻辑判断函数案例一

提示:利用AND函数判断入职时长和业绩是否同时满足考核标准,如果两个条件同时满足可以实现转正、晋升,否则结果返回空。

10.逻辑判断函数案例二

案例说明:以不同学生的考试成绩表为例,有些同学缺考了部分科目,标注的是“缺考”。要求统计不同学生参加的考试科目数以及缺考的科目数。

公式与步骤:

1)单元格F2内输入数组公式:{=SUM(ISNUMBER(B2:E2)*1)},然后向下拖拽复制公式。

2)单元格G2内输入数组公式:{=SUM(ISTEXT(B2:E2)*1)},然后向下拖拽复制公式,结果如图2-75所示。

图2-75 逻辑判断函数案例二

提示:利用ISNUMBER或ISTEXT函数对区域进行判断生成布尔值数组,然后乘以数值1生成数值数组,最后按〈Ctrl+Shift+Enter〉组合键创建数组公式。