理解让Excel更具智能之美的逻辑测试

时间:2022-05-13 05:15:02 

很多时候,我们都会在公式中设置逻辑测试,然后让Excel来自动判断并计算结果。换句话说,只要你设置好条件以后,Excel来帮你决策并执行相应的计算操作,返回相应的结果。从这个意义上说,逻辑测试为Excel增添了智能功能。

下面,我们来详细解Excel中的逻辑测试,为熟练编写Excel公式打好基础。

通常,我们在IF函数中使用逻辑测试,根据测试结果来选择相应的计算。如下图1所示的工作表,当水果销售额大于1000时,就给2%的提成。

理解让Excel更具智能之美的逻辑测试

图1

在单元格D2中的公式为:

=IF(B2>1000,B2*0.02,0)

下拉至单元格D12中即可。

上面只是一个简单的条件测试,只有1个条件。更复杂一些呢?例如,如果要求销售额大于1000并且利润率大于50%时,才给2%的提成呢?这就涉及到稍微复杂点的逻辑测试。

逻辑运算原理

在继续之前,我们先来理解Excel中的布尔逻辑。以简单的串联和并联电路类比。

如下图2所示,一个简单的串联电路,只有当开关1和开关2都关上时,灯才会亮,当两个开关都打开或者只有其中一个开关打开时,灯都不会亮。

理解让Excel更具智能之美的逻辑测试

图2

开意味着FALSE或者0,关意味着TRUE或者1。

下表中左侧是简单的AND操作的真值表,可将其转换成右侧的简单的数字计算,即将TRUE转换为1,FALSE转换为0,AND变为*号。

理解让Excel更具智能之美的逻辑测试

同样,对于下图3所示简单的并联电路,当开关1和开关2都开时,灯不会亮,当至少其中一个开关关时,灯就会亮。

理解让Excel更具智能之美的逻辑测试

图3

下表中左侧是简单的OR操作的真值表,可将其转换成右侧的简单的数字计算,即将TRUE转换为1,FALSE转换为0,OR变为+号。注意,结果大于等于1时,测试结果返回TRUE。在逻辑测试中,非零数字总是TRUE,数字0总是FALSE。

理解让Excel更具智能之美的逻辑测试

上面两个表是基本的逻辑测试真值表,其原理很好理解。在此基础上,可以很容易地扩展到多个条件的逻辑测试。

Excel逻辑测试规则

在Excel中,当需要多个逻辑测试时,往往会使用到AND函数、OR函数或者NOT函数的组合。例如,对本文开头提到的例子,如果要求销售额大于1000并且利润率大于50%时,才给2%的提成,在单元格D2中的公式如下:

=IF(AND(B2>1000,C2>0.5),B2*0.02,0)

下拉至单元格D12中即可。

再复杂一点。

如果销售额大于1000并且利润率大于50%时,才给2%的提成,并且销售的火龙果都给提成,那么在单元格D2中的公式如下:

=IF(OR(AND(B2>1000,C2>0.5),A2=”火龙果“),B2*0.02,0)

下拉至单元格D12中即可。

简化之美

在应用Excel逻辑测试规则时,可以简单地将逻辑测试相乘来表示AND函数。例如,要求销售额大于1000并且利润率大于50%时,才给2%的提成,此时,单元格D2中的公式可以简化为:

=(B2>1000)*(C2>0.5)*B2*0.02

下拉至单元格D12中即可。

仔细体味一下,对于公式中的(B2>1000)*(C2>0.5),计算结果总是0或者1,即不能获得提成时是0,能够获得提成时是1,因此,可以直接乘以销售额和提成百分比。

不是所有的逻辑都能简化

如果按照上文提及的方式,将OR操作简化为+号,可能会带来问题,因为在有些情况下,逻辑测试的结果会大于1,这会导致计算结果出错。

例如,如果销售额大于1000并且利润率大于50%时,才给2%的提成,并且销售的火龙果都给提成。如果简化为公式:

(B2>1000)*(C2>0.5)+(A2=”火龙果“)

当火龙果的销售额大于1000且利润率大于50%时,会得到结果2。此时,如果再与销售额和提成率相乘,结果会扩大一倍,即结果不正确。

因此,对于OR操作应用简化方法时应谨慎。对于上例,可以使用下面任一公式:

=IF((B2>1000)*(C2>0.5)+(A2=”火龙果“),TRUE,FALSE)*B2*0.02

=IF((B2>1000)*(C2>0.5)+(A2=”火龙果“),1,0)*B2*0.02

结语

要精通并熟练编写带条件的Excel计算公式,就需要理解逻辑运算原理和Excel的逻辑测试规则。在Excel中,可以使用*号来代替AND函数,使用+号来代替OR函数。

标签:excel图表制作,excel常用函数,excel数据透视表,Excel教程
0
投稿

猜你喜欢

  • Win10系统外接摄像头不能用问题的解决方法

    2022-02-08 10:48:17
  • WPS PPT设置文档权限的方法

    2023-05-11 05:21:33
  • Wps斜线怎么弄?Wps绘制斜线的方法

    2023-03-10 02:15:45
  • Pixelmator Pro 教程「104」,如何在 Pixelmator Pro 中应用聚焦模糊效果?

    2022-12-10 03:33:22
  • Win10电脑怎么打开nvidia控制面板?

    2023-11-09 03:00:06
  • 360浏览器网页提示“此网页包含重定向循环”怎么回事?

    2023-11-19 16:31:13
  • win11怎么登录微软账号?win11微软账号登录教程

    2023-11-11 13:20:58
  • 微软重塑Win8/Win8.1的开始菜单(含视频)

    2023-07-10 16:37:48
  • word如何绘制三线表?word文档中绘制三线表方法

    2022-05-19 14:44:35
  • 微软发布Win11 22000.1641(KB5022905)正式版系统,添加用于面部识别的高级

    2022-01-23 16:43:47
  • Win10如何将磁盘合并?Win10将磁盘合并图文教程

    2023-06-27 11:26:35
  • win10怎么重置系统?win10重置释放C盘空间的详细教程

    2023-09-04 07:26:52
  • Win10预览版17758怎么升级到18242版?

    2022-03-05 18:35:31
  • ​Excel如何设置输入号数自动显示为年月日格式

    2022-03-08 15:20:40
  • excel中AMORDEGRC线性折旧率怎么算

    2022-01-25 12:01:08
  • Win10系统显示器模糊怎么办?

    2022-11-02 16:57:56
  • Excel中如何一秒删除多个超链接

    2022-09-17 20:44:06
  • win10任务管理器无法使用怎么办

    2022-12-16 05:37:05
  • 共享打印机找不到网络路径-解决共享打印机找不到网络路径的方法

    2023-05-04 01:45:32
  • 使用YEAR函数计算两个日期的年数差

    2023-03-08 01:11:31
  • asp之家 电脑教程 m.aspxhome.com