IF函数的三个小伙伴_java



1

Excel不认识的数学不等式



如图所示,朋友所在的面粉厂,要求生产的面粉每袋质量不能小于495克,也不能超过500克,否则该袋面粉将被定为“不合格”产品。

IF函数的三个小伙伴_java_02

面粉是否合格,判断的标准非常简单:如果面粉质量既大于或等于495,又小于或等于500,那么定为“合格”,否则定为“不合格”。

这是评定面粉是否合格的标准,也是IF函数的“人类语言版”。


了解完这些后,让我们来看看朋友为这个问题设计的公式:

IF函数的三个小伙伴_java_03

  可是,当他将公式输入单元格后,发生了“意外”,如图3‑16所示。

IF函数的三个小伙伴_java_04

IF函数的三个小伙伴_java_05

也许,你也写过这样的公式,有过这样的疑问。

事实上,Excel并没有问题,只是你写的公式不符合它的语言规则。

这就像你对着一位不会英语的中国小朋友喊“Pen”,而他却给你端来一只“盆”一样。

IF函数的三个小伙伴_java_06

语言障碍,是出现这种尴尬场面的原因。

而在公式“=IF(495<=B2<=500,"合格","不合格")”中,“495<=B2<=500”正是导致公式错误的原因,因为它在你和Excel的世界里,描述的并不是同一个规则。


在你的眼中,它表示一个大于或等于495,且小于或等于500的数,类似数学中“2<a<5”这样的不等式,而Excel却并不这么认为。


在Excel的眼中,“<=”是比较运算符,它同数学运算符“+”没有太大的区别。当Excel面对“495<=B2<=500”时,会像对待“3+2+5”一样,将它看成是一个进行两次比较运算的表达式,并按计算法则规定的先后顺序计算它,如图所示。


IF函数的三个小伙伴_java_07


Excel并不认识这种用不等式表示数据区间的方法。因此,如果你想判断数据是否某个区间的数据时,应该使用其他的方法。


提示


  该例中的问题可以使用多个IF函数进行多次判断来解决,如:=IF(B2>500,"不合格",IF(B2>=495,"合格","不合格"))。但当条件越多时,使用的IF函数就会越多,会增加编写、阅读和理解公式的难度,我们并不推荐使用这种方式去解决。

2

用AND函数判断是否同时满足多个条件



AND函数是IF函数最好的小伙伴之一,当IF需要同时对多个条件进行判断时,可以将所有的条件都交给AND,AND会依次对它们进行判断,然后再告诉Excel是不是所有的条件都成立。


对,它就像你安装在计算机上的杀毒软件,当你指定要扫描的分区后,它就会依次对这些分区进行扫描,然后根据扫描结果告诉你系统是否安全,如图所示。

IF函数的三个小伙伴_java_08

IF函数的三个小伙伴_java_09

在这个例子中,必须满足4个条件(C盘安全,D盘安全,E盘安全,F盘安全),杀毒软件才会提示系统安全,只要其中某个条件不成立,杀毒软件都认为系统存在病毒威胁。

IF函数的三个小伙伴_java_10

Excel中的AND函数就是用来代替人类语言中的“”,连接多个条件的函数,如“C盘安全且D盘安全且E盘安全且F盘安全”可以改写为:

IF函数的三个小伙伴_java_11

杀毒软件扫描病毒并报告结果的过程,可以按Excel的思维,使用IF和AND函数将其写成公式:



=IF(AND(C盘安全吗?,D盘安全吗?,E盘安全吗?,F盘安全吗?),"系统很安全","系统存在病毒威胁")


IF根据AND返回的结果是TRUE还是FALSE,来选择输出“系统很安全”还是“系统存在威胁”的结论。

正因为可以直接将所有需要判断的条件丢给AND,所以可以借助AND函数解决判断面粉是否合格的问题,公式为:


=IF(AND(B2>=495,B2<=500),"合格","不合格")

小广播

本内容摘录自图书《别怕,Excel函数其实很简单》



长按下面二维码图片,点”识别图中二维码“然后再点关注,每天都会收到最新excel教程。

IF函数的三个小伙伴_java_12
ExcelHome,微软技术社区联盟成员