编按:哈喽,大家好!今天我们来说说Excel中逻辑判断函数——IF函数。“什么?IF函数?之前不是都讲过了吗,怎么还拿出来说?”nonono!今天我们将从全新的角度出发,带大家重新认识这位最熟悉的陌生人——IF函数!
*********
【前言】
今天我们来说一个每位EXCELER都会用到的函数——IF函数。是不是知道了是这个很“熟悉”的函数,就想关闭此文章了呢?不过,我建议你继续看下去,因为我确定你会在今天的教程中,学到很多的内容。
*********
【语法】
IF函数功能:判断是否满足某个条件,如果满足返回一个值,如果不满足则返回另一个值。
IF函数的语法也很简单,一共就三个参数:IF(LOGICAL_TEST,[VALUE_IF_TRUE],[VALUE_IF_FALSE])
很多同学都“懂得”这个函数的用法。
但是这一堆英文所代表的意义,才是我们需要了解学习的内容。在工具栏中的“公式”选项卡中,选择“插入函数”,在“搜索函数”栏中输入“IF”,点击“转到”按钮;在“选择函数”的列表框中单击IF函数,再点击“确定”按钮,就会弹出一个“函数参数”的窗口,如下:
从这里我们可以看到很多的信息,我们可以设置红色框内的每个参数的内容,在左下角的“计算结果=”处会得到预览结果;蓝色框内是对各个参数的文字说明,同时列出各个参数规定的格式;绿色框内是一个链接,可以链接到官方网站对于此函数的讲解。
《小常识》:在学习函数的过程中,“函数参数”窗口,是一个相当有用的工具,也是我们学习函数的主要途径之一,它不仅可以帮助我们学会函数的用法,还可以规范我们使用函数的习惯。
从IF的“函数参数”窗口中,我们发现了一个细节:
[VALUE_IF_TRUE],[VALUE_IF_FALSE]这两个参数,对于参数格式没有任何特殊要求,是任意内容;而LOGICAL_TEST的返回值按规定一定得是“逻辑值”。官方对于这个参数的解释为:是任何可能被计算为TRUE或FALSE的数值或表达式。这里的TRUE和FALSE就是“逻辑值”。
一、IF函数的常规用法
这应该算是IF函数最常规的用法了,判断完成率是否达到80%,达标就标记为“达标”,不达标则返回空。在D2单元格输入函数=IF(C3/B3>=0.8,"达标",""),估计同学们都会使用吧,那我们就再拆分一下这个函数,来看看IF函数的运行原理。
在E2单元格中输入公式=C3/B3>=0.8,在F2单元格输入函数=IF(E3,"达标",""),然后下拉填充。我们可以看到E2:E6单元格区域显示的是逻辑值,在F2:F6区域引用这个逻辑值,是同样可以使函数成立的。
二、得到的逻辑值
那么我们就要思考了,既然所有可以得到逻辑值的运算都可以作为IF函数的第一参数,而且IF函数使用的环境又是如此的广泛,那么我们在使用IF函数解决工作问题的时候,只需找到条件的逻辑值就可以了。
所以,都有什么样的运算可以得到逻辑值,就成为我们日常工作中使用IF函数的关键所在!!
这里作者E图表述给大家介绍三种途径:
● 比较运算符
● 逻辑函数
● IS系列函数
1.比较运算符
什么是比较运算符?其实我们上小学的时候就学过,如下表所列:
用刚才的案例来说,=IF(C3/B3>=0.8,"达标","")其中的C3/B3>=0.8就是比较符的使用,如果C3/B3的值大于等于0.8,那么等式成立,返回逻辑值TRUE,反之为FALSE。
2.逻辑函数
在EXCLE2016版的逻辑函数中,一共有九个,如下图:
作者根据它们的用途主要分成两类内容,分别是:
★★ 对于和IF函数的嵌套使用,我们主要来看关系型逻辑函数起到的作用
① AND函数
AND函数中的每一个参数的返回值如果都是TRUE,那么AND函数才返回TRUE值,只要有一个参数返回FALSE,则AND函数也会返回FALSE。
② OR函数
OR函数中的其中一个参数的返回值是TRUE,OR函数就返回TRUE值,如果所有参数的返回值都是FALSE,OR函数才会返回FALSE。
③ NOT函数
NOT函数是将逻辑值转换成相反的值,它只有一个参数,其意义在于将TRUE转换成FALSE,将FALSE转换成TRUE。例如=NOT(TRUE)将返回FALSE,这里值得说一句的是AND+NOT函数的联用,可以理解为OR函数的“反义词”。
④ XOR函数
XOR函数是作者认为比较鸡肋的一个函数,它返回的是多条件的“异或”状态。如果条件都是TRUE或者都是FALSE,说明参数值都一样,就没有“异或”的情况,则返回FALSE值;如果条件中既有TRUE又有FALSE,则说明有“异或”情况,返回TRUE。但是XOR函数对于到底是“都满足条件”还是“都不满足条件”,从这个函数中是不好判断的。
3.IS系列函数
IS系列函数很多同学应该还没有用过,这类函数其实很好理解,就按英语的直译“是不是”就可以了。比如ISNUMBER函数,就是判断值“是不是数值”。那么这类函数都有什么内容呢?一共有12个IS函数,如下列表所示:(检测内容中的“2”是文本数据,不要被它的外在所欺骗哦~)
因为IS系列函数的使用很简单,语法为:=函数名(单元格或者单元格区域),这里我们就举一个简单的案例说明一下用途。
我们只要知道IS系列函数的返回值是逻辑值(是则TRUE,不是则FALSE),那么就可以被我们用来充当IF函数的第一参数。
如上图,SUM函数会自动忽略文本格式数值进行运算;如果配合减负运算“--”,将区域内的文本格式都转换为数值后,再进行SUM求和,就可以计算出该区域内所有数的合计。那么仅统计文本型数值的合计,该怎么计算呢?用ISTEXT做一下判断,再结合减负函数就得到了结果。多练习,你也会掌握的。
三、IF函数的进阶使用
1.IF函数的嵌套——区间取值
这是IF函数的典型用法,通过一系列的判断,将数据归类,如下:
在C2单元格输入函数,下拉填充柄填充C2:C9区域:
=IF(B2>=95,"优",IF(B2>=80,"良",IF(B2>=60,"中","差")))
这是一个相当简单的函数,但是依然有很多同学写错,究其原因还是没有理解IF函数的运行原理,IF函数的运行是有层级顺序的,例如上面的函数:
第一级运算:B2>=95,如果TRUE,返回值“优”,并停止函数运行;如果FALSE,返回IF(B2>=80,"良",IF(B2>=60,"中","差")),进行次一级运算;
第二级运算:B2>=80,如果TRUE,返回值“良”,并停止函数运行;如果FALSE,返回IF(B2>=60,"中","差"),进行再次级运算。
注意:建议同学们学习IF函数的时候,一定要脑补IF的流程图,这不仅是对编写函数的一种“辅助画面”,而且对于日常练习“逻辑感”相当有帮助。
日常工作中,统计函数+IF的三键运用是相当普遍的,“三键”是什么?三键就是CTRL+SHIFT+ENTER三键结束函数录入,而形成数组函数的用法。我们下次专门讲“数组函数”的时候,再细看其原理,现在我们先对“三键”有一个概念,做到会运行数组函数即可。
这是一个利用IF原理做的一个多条件统计过程,还记得我们上面说的“比较运算符”的部分吗?如果够细心的同学会看到我在上面写过True(1)、False(0)。
这就是逻辑值的数值体现,逻辑值是可以参与运算的。我们利用“公式求值”的功能,就可以看出这个函数的运行原理。
上面是多条件同时满足的情况,如果是“满足一个条件”即可的情况呢?我们可以这样做:
F10单元格函数={=MIN(IF((A2:A11="A2")+(B2:B11="B3"),C2:C11,""))}
原理是一样的,就不分解说明了,同学们思考一下,锻炼一下自己的逻辑感。(也可以在QQ群中下载素材,然后利用F9键或者上述公式求值的方法分析公式哦~)
3.IF函数的另一个经典——VLOOKUP+IF反向查询
反向查询的问题,在日常工作中也是经常会用到的,解法也是相当的多,借此篇文章我们再说一下这个经典的用法。
在E3单元格输入函数:=VLOOKUP(E2,IF({1,0},B1:B5,A1:A5),2,0)
依然是利用了IF函数的逻辑值返回数值的原理,只是我们将逻辑值的第一参数用{1,0}作为已知的常量,强行将B区域和A区域的位置在内存中互换,形成一个新的引用区域,藉此使VLOOKUP能够正常运行,通过“公式求值”我们可以看到IF函数运行后的数组内容。
{"姓名","部门";"张三","工程部";"李四","财务部";"王五","工程部";"赵六","财务部"},姓名和部门两列就已经在内存中调整好了排列顺序。
对于IF{1,0}结构还不是很清楚的小伙伴,可以看看这篇文章《VLOOKUP&LOOKUP双雄战(四):在横向和逆向查询上的血拼!》,下来再多练习,相信大家很快就能掌握!
*********
【编后语】:其实即便今天写了这么多内容,IF函数就真的讲完了吗?在使用IF函数的过程,是不重语法而重思路,这个函数在实际工作中用的相当普遍,基本可以和任何函数嵌套使用,所以我们的思路越宽,就会有更经典的用法呈现。
****部落窝教育-IF函数进阶应用****
原创:E图表述/部落窝教育(未经同意,请勿转载)