哈喽,大家好!今天我们来说说Excel中逻辑判断函数——IF函数。“什么?IF函数?之前不是都讲过了吗,怎么还拿出来说?”nonono!今天我们将从全新的角度出发,带大家重新认识这位最熟悉的陌生人——IF函数!
今天我们来说一个每位EXCELER都会用到的函数——IF函数。是不是知道了是这个很“熟悉”的函数,就想关闭此文章了呢?不过,我建议你继续看下去,因为我确定你会在今天的教程中,学到很多的内容。
IF函数功能:判断是否满足某个条件,如果满足返回一个值,如果不满足则返回另一个值。IF函数的语法也很简单,一共就三个参数:IF(LOGICAL_TEST,[VALUE_IF_TRUE],[VALUE_IF_FALSE])但是这一堆英文所代表的意义,才是我们需要了解学习的内容。在工具栏中的“公式”选项卡中,选择“插入函数”,在“搜索函数”栏中输入“IF”,点击“转到”按钮;在“选择函数”的列表框中单击IF函数,再点击“确定”按钮,就会弹出一个“函数参数”的窗口,如下:从这里我们可以看到很多的信息,我们可以设置红色框内的每个参数的内容,在左下角的“计算结果=”处会得到预览结果;蓝色框内是对各个参数的文字说明,同时列出各个参数规定的格式;绿色框内是一个链接,可以链接到官方网站对于此函数的讲解。《小常识》
在学习函数的过程中,“函数参数”窗口,是一个相当有用的工具,也是我们学习函数的主要途径之一,它不仅可以帮助我们学会函数的用法,还可以规范我们使用函数的习惯。
[VALUE_IF_TRUE],[VALUE_IF_FALSE]这两个参数,对于参数格式没有任何特殊要求,是任意内容;而LOGICAL_TEST的返回值按规定一定得是“逻辑值”。官方对于这个参数的解释为:是任何可能被计算为TRUE或FALSE的数值或表达式。这里的TRUE和FALSE就是“逻辑值”。
这应该算是IF函数最常规的用法了,判断完成率是否达到80%,达标就标记为“达标”,不达标则返回空。在D2单元格输入函数:=IF(C3/B3>=0.8,"达标",""),估计同学们都会使用吧,那我们就再拆分一下这个函数,来看看IF函数的运行原理。
在E3单元格中输入公式:=C3/B3>=0.8,在F3单元格输入函数:=IF(E3,"达标",""),然后下拉填充。我们可以看到E3:E6单元格区域显示的是逻辑值,在F3:F6区域引用这个逻辑值,是同样可以使函数成立的。
那么我们就要思考了,既然所有可以得到逻辑值的运算都可以作为IF函数的第一参数,而且IF函数使用的环境又是如此的广泛,那么我们在使用IF函数解决工作问题的时候,只需找到条件的逻辑值就可以了。所以,都有什么样的运算可以得到逻辑值,就成为我们日常工作中使用IF函数的关键所在!!
什么是比较运算符?其实我们上小学的时候就学过,如下表所列:用刚才的案例来说,=IF(C3/B3>=0.8,"达标","")其中的C3/B3>=0.8就是比较符的使用,如果C3/B3的值大于等于0.8,那么等式成立,返回逻辑值TRUE,反之为FALSE。
在EXCLE2016版的逻辑函数中,一共有九个,如下图:关系型——AND函数、OR函数、NOT函数、XOR函数判断型——IF函数、IFERROR函数、IFNA函数★★ 对于和IF函数的嵌套使用,我们主要来看关系型逻辑函数起到的作用AND函数中的每一个参数的返回值如果都是TRUE,那么AND函数才返回TRUE值,只要有一个参数返回FALSE,则AND函数也会返回FALSE。OR函数中的其中一个参数的返回值是TRUE,OR函数就返回TRUE值,如果所有参数的返回值都是FALSE,OR函数才会返回FALSE。NOT函数是将逻辑值转换成相反的值,它只有一个参数,其意义在于将TRUE转换成FALSE,将FALSE转换成TRUE。例如=NOT(TRUE)将返回FALSE,这里值得说一句的是AND+NOT函数的联用,可以理解为OR函数的“反义词”。XOR函数是作者认为比较鸡肋的一个函数,它返回的是多条件的“异或”状态。如果XOR函数中的逻辑值TRUE的个数是奇数,则XOR函数返回TRUE;如果逻辑值TRUE的个数是偶数或者零个,则返回FALSE。但是XOR函数对于到底是“满足了什么条件,哪些没有满足”,从这个函数中是不好判断的。
我们在前几天的文章《Excel教程:短小精悍的IS系列函数汇总!建议收藏!》中,也说过IS系列函数。这类函数其实很好理解,就按英语的直译“是不是”就可以了。比如ISNUMBER函数,就是判断值“是不是数值”。那么这类函数都有什么内容呢?一共有12个IS函数,如下列表所示:(检测内容中的“2”是文本数据,不要被它的外在所欺骗哦~)因为IS系列函数的使用很简单,语法为:=函数名(单元格或者单元格区域),这里我们就举一个简单的案例说明一下用途。我们只要知道IS系列函数的返回值是逻辑值(是则TRUE,不是则FALSE),那么就可以被我们用来充当IF函数的第一参数。如上图,SUM函数会自动忽略文本格式数值进行运算;如果配合减负运算“--”,将区域内的文本格式都转换为数值后,再进行SUM求和,就可以计算出该区域内所有数的合计。那么仅统计文本型数值的合计,该怎么计算呢?用ISTEXT做一下判断,再结合减负函数就得到了结果。多练习,你也会掌握的。
这是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的流程图,这不仅是对编写函数的一种“辅助画面”,而且对于日常练习“逻辑感”相当有帮助。
2.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函数运行后的数组内容。{"姓名","部门";"张三","工程部";"李四","财务部";"王五","工程部";"赵六","财务部"},姓名和部门两列就已经在内存中调整好了排列顺序。