Excel未知的数学不等式。
如图所示,我朋友所在的面粉厂要求每袋面粉的质量不能低于495克,也不能超过500克,否则该袋面粉将被列为“不合格”。
判断面粉是否合格的标准很简单:面粉质量大于等于495,小于等于500,则判定为“合格”,否则判定为“不合格”。
这是评价面粉合格与否的标准,也是IF功能的“人类语言版”。
了解了这一点之后,我们再来看看朋友们为这个问题设计的公式:
然而,当他将公式输入单元格时,发生了“意外”,如图16所示。
也许,你写过这样的公式,也有过这样的疑惑。
其实Excel没有什么问题,只是你写的公式不符合它的语言规则。
就像给一个不会说英语的中国孩子叫“笔”,他却给你带了一个“盆”。
语言障碍是造成这种尴尬场面的原因。
公式中“=IF(495=B2=500,“合格”、“不合格”)”、“495=B2=500”是公式错误的原因,因为它没有描述你和Excel世界中的相同规则。
在你眼里是指大于等于495小于等于500的数字,类似于数学中的“2a5”不等式,但Excel却不这么认为。
在Excel眼里,“=”是比较运算符,和数学运算符“”没有太大区别。当面对“495=B2=500”时,Excel会将“3 2 5”作为两个比较运算的表达式,按照计算规则指定的顺序进行计算,如图所示。
Excel不知道这种用不等式表示数据区间的方法。因此,如果要判断数据是否在某个区间,应该用其他方法。
给出提示
这个例子中的问题可以通过多个IF函数来解决,比如=IF(B2500,“不合格”)、IF(B2=495,“合格”、“不合格”)。但是条件多的时候会用到更多的IF函数,会增加公式的书写、阅读和理解难度。我们不推荐这种方法来解决这个问题。
AND函数用于判断是否同时满足多个条件。
“与”函数是中频函数的最佳伙伴之一。当IF需要同时判断多个条件时,可以将所有条件交给and,由AND依次判断,然后告诉Excel是否所有条件都为真。
是的,就像你电脑上安装的杀毒软件一样。当您指定要扫描的分区时,它会依次扫描,然后根据扫描结果告诉您系统是否安全,如图所示。
在这个例子中,只有满足四个条件(c盘安全、D盘安全、E盘安全、F盘安全),杀毒软件才会提示系统安全。只要其中一个条件不成立,杀毒软件就认为系统受到病毒威胁。
Excel中的and函数是一个用来代替人类语言中的“AND”,连接多个条件的函数。例如,“c盘安全,d盘安全,e盘安全,f盘安全”可以改写为:
在杀毒软件扫描病毒并上报结果的过程中,可以按照Excel的思路,利用IF和AND函数写成公式:
=IF(AND(C)驱动器是否安全?d盘安全吗?e盘安全吗?磁盘f安全吗?),“系统非常安全”,“系统受到病毒威胁”)。
根据IF AND返回的结果是TRUE还是FALSE,选择输出“系统安全”或“系统受到威胁”的结论。
因为所有需要判断的条件都可以直接抛到AND,所以借助AND函数可以解决判断面粉是否合格的问题,公式为:
=IF(AND(B2=495,B2=500),“通过”,“失败”)。