美文网首页
Excel读书笔记19——逻辑函数

Excel读书笔记19——逻辑函数

作者: 梦幻天堂晓 | 来源:发表于2019-02-04 14:50 被阅读52次

一、IF函数——条件选择的不二法宝

提问:在制作业绩评价表(见图4-1)时,如何使用公式将业绩100万元以上的考核等级评价为“合格”,否则评价为“不合格”?

图4-1 业绩评价表

1.函数技能

IF函数的通俗翻译就是:如果……就……否则……它会根据给定的逻辑判断结果,自动返回相应的值。其中,当逻辑判断的计算结果为真(TRUE)时,将返回第一个参数值;当判断条件的计算结果为假(FALSE)时,则返回第二个参数值。如果省略逻辑判断结果为假(FALSE)时的参数值,则在逻辑判断结果为假(FALSE)时,直接返回“FALSE”。

IF函数看似简单,但是它配合其他计算公式或函数演绎出来的作用将非常强大,几乎在每个财务工作表中,都能看到它的身影。在第五章第一节的案例中,IF函数几乎凭借一己之力,肩负起了账龄分析的重任。

2.语法格式

IF(逻辑判断,判断结果为真时的值,判断结果为假时的值)

其中,判断结果为真(假)时的值可以为文本、数值、单元格地址或公式等。如果返回的值是文本,那么应该用英文双引号括起来。

日常生活中我们常说的“你去,我就去”,用IF函数来表达就是:

=IF(你是不是要去,我去,我不去)

3.提问解答

(1)现在我们再来看图4-1中的考核等级如何填写。根据IF函数的技能和语法格式可知:

C3单元格公式为:=IF(B3>=100,"合格","不合格")

或:=IF(B3<100, "不合格","合格")

执行列填充后,即可完成任务(见图4-2)。

图4-2 考核登记公式

(2)如果老板要求将业绩划分为三个评价等级:大于150万元为“优良”,100万~150万元为“合格”,小于100万元为“不合格”。

C3单元格公式为:=IF(B3>150,"优良",IF(B3>=100,"合格","不合格"))

或:=IF(B3<100,"不合格",IF(B3<=150,"合格","优良"))

执行列填充后,就可以向高要求的老板交差了(见图4-3)。

图4-3 考核登记公式(精细化版)

如上所述,公式返回的值还可以使用单元格地址,直接引用单元格中的值。假设我们已经在D1单元格录入“不合格”,D2单元格录入“合格”,D3单元格录入“优良”。则C3单元格的公式也可以设置为(以三个评价等级公式为例):

=IF(B3>150,D3,IF(B3>=100,D2,D1))

或:=IF(B3<100,D1,IF(B3<=150,D2,D3))

注意:使用单元格地址时不能加引号,否则该参数就表示为“A1”字符串(文本)而不是A1单元格对应的值。该原则适用于Excel的任何领域,请务必尊重Excel的脾气。

更多IF函数的嵌套应用,请参见第五章各案例。

4.拓展应用

如果你仅仅把IF函数用于上述例子中的条件选择,就未免太可惜了。对于任何一个函数,我们都要利用其技能特性,发挥更多的应用效果。比如,使用IF函数来净化表格环境。

例如,逸凡公司2013年费用分析表(见图4-4)中,我们在D列计算实际数相对预算数的增减率时,普通的做法是在D3单元格设置公式:=C3/B3-1。

图4-4 费用分析表

由于展览费是没有预算(预算为0)的,而除数为0属于非法逻辑,导致展览费的变动率(D6单元格)直接报错,显示为“#DIV/0!”,影响美观。在这种情况下,我们可以采用IF函数对除数为0的情况进行特殊处理。当除数为0时,增减率显示为“预算外费用”,当除数不为0时,才按常规公式计算(见图4-5)。

D3单元格公式为:=IF(B3=0,"预算外费用",C3/B3-1)

图4-5 IF函数的拓展应用

5.注意事项

在编写多层IF函数公式时,应考虑到其可容纳的嵌套层级上限,2003版为7级,2007版开始实现了质的飞跃,达到了64级。

在多层嵌套时,一定要注意逻辑判断的递进层级与先后顺序,以免公式出错。假设图4-3中的公式为:=IF(B3>100,"合格",IF(B3>150,"优良","不合格")),就是典型的逻辑判断先后顺序错误。此时当业绩大于100时,公式就直接返回“合格”,无法再区分“优良”,其计算结果自然会出错。

此外,在使用函数嵌套时,建议先将函数的框架建好,再编辑函数各参数的值,否则容易因少括号或多括号而导致公式出错。比如编辑图4-3公式时,可先编辑:=IF(B3>150,"优良",IF(1,2,3)),然后再将里层的“IF(1,2,3)”修改为IF(B3>=100,"合格","不合格")。此经验在编辑复杂公式时非常实用。

二、AND函数、OR函数以及NOT函数——条件判断的得力助手

提问:如果要求在图4-5费用分析表的E列加备注,对增减率未超过±2%的项目标记“正常”(预算外费用仍然标记“预算外费用”)。该如何处理?

1.函数技能

(1)AND函数:全票通过才为真(TRUE),即当参数中的所有值都为真(TRUE)时,它才返回真(TRUE)值。

(2)OR函数:一票通过即为真(TRUE),即当参数中任何一个值为真(TRUE)时,它就返回真(TRUE)值。

(3)NOT函数:用于求反值,即不满足相关条件才返回真(TRUE)值。

2.语法格式

AND(条件1,条件2,条件3,……)

OR(条件1,条件2,条件3, ……)

NOT(条件)

此三个函数的最常用搭档是IF函数,它们联袂演绎的基本套路可以用下面几个通俗用语予以说明。

(1)日常用语“你们俩都去,我就去。”用AND函数和IF函数联袂表达就是:

=IF(AND(你去,他去),我去,我不去)

(2)流行语“不管你信不信,反正我是信了。”用OR函数和IF函数联袂表达就是:

=IF(OR(你相信,你不相信),我相信)

(3)谚语“山中无老虎,猴子称霸王。”用NOT函数和IF函数联袂表达就是:

=IF(NOT(山中有老虎),猴子称霸王,老虎称霸王)

3.提问解答

按照新的要求,需要标记“正常”的项目,其增减率应在±2%以内,即必须同时满足大于等于-2%和小于等于2%两个条件。在不使用ABS函数(求绝对值函数,本章第二节将进行介绍)的情况下,我们就需要AND函数和IF函数联手了。当然,我们还得首先考虑一层预算外费用的因素。

E3单元格公式为:

=IF(D3="预算外费用",D3,IF(AND(D3>=-2%,D3<=2%),"正常",""))

执行列填充后,即可看到正确的标记(见图4-6)。

图4-6 AND函数与IF函数示例

如果领导要求对增减率超过2%的项目标记为“关注”,又该怎么办?这里的方法就比较多了,但是我们给OR函数一次露脸的机会吧。

增减率超过2%,实际上就是增减率小于-2%或者大于2%,属于只需要一票就通过的情况。所以OR函数和IF函数登台了。

E3单元格公式为:

=IF(D3="预算外费用",D3,IF(OR(D3<=-2%,D3>=2%),"关注",""))

执行列填充后,即可完成标记(见图4-7)。

图4-7 OR函数与IF函数示例

相关文章

网友评论

      本文标题:Excel读书笔记19——逻辑函数

      本文链接:https://www.haomeiwen.com/subject/xavpsqtx.html