首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >精通Excel数组公式012:布尔逻辑:AND和OR

精通Excel数组公式012:布尔逻辑:AND和OR

作者头像
fanjy
发布2021-01-20 11:32:40
发布2021-01-20 11:32:40
2.8K0
举报
文章被收录于专栏:完美Excel完美Excel

导言:本文为《精通Excel数组公式(学习笔记版)》中的一部分内容节选。

布尔(Boolean)是一种数据类型,仅有两个值,即TRUE或FALSE,或者1或0:

TRUE = 1

FALSE = 0

在Excel公式中,经常要用到逻辑条件。对于AND条件来说,只有所有的逻辑测试都为TRUE时,结果才为TRUE;对于OR条件来说,只要有一个逻辑测试为TRUE,结果就是TRUE。下图1列出了3个条件时的所有逻辑测试。

图1

AND条件

当执行AND逻辑测试时,所有的测试都必须为TRUE,最终的AND逻辑测试结果才是TRUE。如果任何一个逻辑测试为FALSE,AND逻辑测试的结果为FALSE。

下面展示了一些AND条件的示例。

图2:公式[1]至[4]使用了AND条件。公式[5]使用布尔乘法的AND条件。公式[6]使用布尔乘法和除法的AND条件。公式[7]使用IF函数和布尔AND条件。

图3:带筛选的数据透视表执行AND条件的求和运算。

图4:具有已应用筛选和总计行的表功能可以使用AND条件进行平均值计算。

图5:筛选功能可以使用AND条件筛选表。

图6:高级筛选功能可以使用AND条件提取记录。

图7:在辅助列中使用了带有4个逻辑测试的AND函数。

图8:使用逻辑测试相乘来创建布尔辅助列。

正如在上述例子中所看到的,诸如像SUMIFS函数、使用布尔运算或IF函数的数组公式、数据透视表、带有筛选和汇总行的表、筛选、高级筛选、以及辅助列解决方法都可以使用AND条件运算。

OR条件

当执行OR逻辑测试时,只要有一个测试为TRUE,最终的OR逻辑测试结果就是TRUE。只有当所有的逻辑测试都为FALSE时,OR逻辑测试的结果才为FALSE。我们经常使用“至少有一个”和“一个或多个”逻辑测试来描述OR逻辑测试。

下面是两个OR条件的示例。

图9:单元格中的姓名是否是“Gidget”或“Rodger”。

图10:测试客户的净资产大于100000,或者信用评级大于或等于3.5。

上图10所示的例子中,OR条件测试获得了两个TRUE值,此时必须小心,特别是使用其作为另一公式的元素时。

1.OR逻辑测试结果为1个TRUE值:通常指向单个单元格且遍历单列。

2.OR逻辑测试结果多于1个TRUE值:通常指向不同的单元格且遍历多列。

示例:使用不能返回多个TRUE值的OR逻辑测试统计

如下图11所示,使用了5个公式分别统计满足条件的项目数量。

图11:OR条件统计在单个单元格且单列中查找。

示例:使用返回多个TRUE值的OR逻辑测试统计

如下图12所示,如果在创建OR条件公式时不细心,那么可能会统计两次。示例统计净资产大于100000或者信用评级大于等于3.5的客户数。因为两个问题在两列中查询,对于特定的客户可能会返回两个TRUE值,导致该客户被统计两次,例如Fruits Inc.的净资产大于100000且信用评级大于等于3.5,在公式[4]和[5]中对该公司统计了两次,返回不正确的结果。而公式[1]、[2]和[3]只统计一次,返回正确的结果。

图12:OR逻辑测试指向两个不同的单元格,因此可能返回两个TRUE值;OR条件统计公式查找两列。

用于求和、求平均值和查找最小或最大值的OR条件

示例如下图13至图15所示。

图13:使用应用到单列的OR条件来求和和求平均值。

图14:使用应用到不同列的OR条件来求和和求平均值。单个的OR逻辑测试可能产生多个TRUE值。

图15:使用应用到不同列的OR条件来求最小值和最大值。单个的OR逻辑测试可能产生多个TRUE值。在AGGREGATE函数的公式中,使用除法剔除0值。

在公式中同时使用AND条件和OR条件:OR逻辑测试不会返回多个TRUE值

当在公式中同时使用AND条件和OR条件时,仍然取决于OR逻辑测试是否返回多个TRUE值。

如下图16所示,求区域West和Midwest在2019年3月18日和2019年5月12日之间的数量、营业额之和、最小营业额和平均营业额。

图16:AND和OR条件,此时OR逻辑测试指向单列。

在公式中同时使用AND条件和OR条件:OR逻辑测试会返回多个TRUE值

如下图17所示,求净资产大于100000,净收入大于等于37500,信用评级1大于等于3.5或信用评级2大于等于6的客户数、最大净资产和平均净资产。

图17:AND和OR条件,此时OR逻辑测试指向多列。

注:如果有多个OR条件,可以使用ISNUMBER函数和MATCH函数的组合。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档