![574da027daf2e899e852c546efd39b2c.gif](https://i-blog.csdnimg.cn/blog_migrate/653cf2858ba87c61fff085ce4e4c07fd.gif)
![d1509d2307a19416a39ecd78aefeb529.gif](https://i-blog.csdnimg.cn/blog_migrate/09cd1ec2afe47a7fb80f8d9d4cd65a98.gif)
Excel 中具有可以对真假值进行判断,或者进行复合检验的函数,这些函数被称为逻辑函数,它返回的值为逻辑值 TRUE(真)或逻辑值 FALSE(假)。
什么是逻辑值呢?逻辑值是判断条件或表达式的结果。
在 Excel 中,逻辑值分为两种情况,如果条件成立,或者判断条件是对的,则逻辑值为真,使用 TRUE 或 1 表示;如果条件不成立,或者判断条件是错的,则逻辑值为假,使用 FALSE 或 0 表示。
另外,在公式中,比较运算符(第 1 章讲解的 =、>、=、<=、<>等)的结果、逻辑运算符的结果都是逻辑值。
在Excel中,逻辑运算符也就是与(AND)、或(OR)、非(NOT)、真(TRUE)、假(FALSE)等条件判断符号。
其中的IF 函数在职场中的使用频率非常高,相信大家对它并不陌生。
它可以根据指定的条件判断真假,如果满足条件,则返回一个值;如果不满足条件,则返回另外一个值。
在数据处理中,经常使用 IF 函数对公式和数值进行条件检测。其语法结构如下图所示。
很多人只会使用 IF 函数进行简单的逻辑判断,其实 IF 函数还有很多强大且鲜为人知的功能,
今天的文章,将会为你深入剖析IF函数,让这个身材小小的函数发挥出大力量!
从单条件中选择正确的结果
单条件判断是 IF 函数最基本的用法,也就是如果满足条件,就返回一个值,否则返回其他值。
例如,A 公司在招聘人员时,会进行 3轮面试,第 1 轮是笔试,只有笔试成绩达到 70 分,才表示通过第1轮面试,可进行第2轮面试。
那么,下图中的面试表中哪些面试人员的笔试成绩通过了呢?
此时,就需要使用 IF 函数进行判断,其判断思路如下图所示,如果笔试成绩大于或等于70 分,则表示“通过”;如果笔试成绩小于 70 分,则表示“未通过”。
根据判断思路可以得出:如果要判断表格中“王瑞”的笔试成绩是否通过,则可在 C2 单元格中输入公式“=IF(B2>=70," 通过 "," 未通过 ")”,按【Enter】键即可返回判断结果。
向下填充公式,可判断出表格中其他面试人员的笔试成绩是否通过。
从多条件中选择正确的结果
多条件是指 IF 函数的第 1 参数“logical_test”包含两个或两个以上的条件,条件之间需要使用“*”或“+”连接起来,“*”表示“且”的意思,即需要同时满足多个条件中的所有条件;而“+”表示“或”的意思,即只要满足多个条件中的一个条件即可。
例如,假设 A 公司规定男性 60 岁、女性 55 岁退休,现在要对工退休管理表中的员工进行“在职”和“退休”判断。
使用IF函数对员工进行“在职”和“退休”判断时,需要设置由4个条件组成的2个条件组,条件组 1 表示男性年龄需要大于或等于 60 岁才能判定为“退休”,否则判定为“在职”;条件组 2表示女性年龄需要大于或等于 55 岁才能判定为“退休”,否则判定为“在职”。
根据判断思路可以得出:条件组 1 和条件组 2 是“或”的关系,需要用“+”将两个条件关联起来。
如果要判断表格中的“王攀”是在职还是退休,则可在 D2 单元格中输入公式“=IF((B2=" 男")*(C2>=60)+(B2=" 女")*(C2>=55)," 退休 "," 在职 ")”,按【Enter】键即可返回判断结果。
向下填充公式,可判断出表格中的其他员工是在职还是退休。
从单条件中多次选择判断
一个 IF 函数只能执行一次选择,当判断的条件只有一个,但选择的结果有 3 个或 3 个以上时,就需要使用多个IF 函数进行多次判断选择,也就是将多个 IF 函数嵌套在一起使用。
例如,A 公司对培训考核表中员工的考核结果进行评定时,一般是根据考核得分进行评定的。
假设 A 公司对员工考核的评定标准是:85分及以上为“优秀”,75 分及以上为“良好”,低于 75 分为“差”。由此可以得出,可供选择的等级有“优秀”“良好”和“差”3 种,此时就需要使用 2 个 IF 函数进行判断。
根据判断思路可以得出:对员工考核得分小于 85 分的,需要再次使用 IF函数进行判断。
如果要对表格中“韩梦”的考核结果进行评定,则可在 D2 单元格中输入公式“=IF(C2>=85," 优秀",IF(C2>=75," 良好 "," 差 "))”,按【Enter】键即可返回考核结果。
向下填充公式,可判断出表格中其他员工的考核结果。
继续上例,如果将员工考核得分小于 75 分的考核结果再划分为两个等级,即 60 分及以上为“中等”,低于 60 分为“差”,那么可供选择的等级就有“优秀”“良好”“中等”和“差”4 种,此时就需要使用 3 个 IF 函数进行判断。
如果要对表格中“韩梦”的考核结果进行评定,则可在 D2 单元格中输入公式“=IF(C2>=85," 优秀 ",IF(C2>=75,"良好 ",IF(C2>=60," 中等 "," 差 ")))”,按【Enter】键即可返回考核结果。
向下填充公式,可判断出表格中其他员工的考核结果。
由此可以看出,可供选择的结果越多,需要使用的 IF 函数就越多,但无论需要进行几次选择,需要从几个结果中进行选择,只要厘清每次选择的规则和思路,就能使用 IF 函数进行解决。
虽然 2007 版本以上的 Excel允许在单个公式中嵌套 64 个函数,但建议嵌套最好不要超过 7层,因为构建多个 IF 函数不仅需要花费大量的心思,而且只要一个 IF 函数结果错误,那么所有的 IF 函数结果都可能出错,就需要全部推倒从来,耗时耗力。
屏蔽公式返回的错误值
在使用公式的过程中,你是否会遇到这样的情况:公式输入正确,反复检查也无错误,但计算结果还是会返回如 #N/A、#DIV/0!等错误值。
计算结果返回错误值的原因,有时并不是输入的公式有问题,而是参与公式计算的数据存在问题。
由于我们并不完全知道哪些数据是不规范的,所以这种错误很多时候是不可避免的,此时就需要屏蔽公式返回的错误值,从而让表格中的数据显示更加规范。
在 Excel 公式中,处理错误值常用的方法有两种:一种是 IF 函数嵌套 ISERROR 函数;另一种是 IFERROR 函数。下面将对这两种方法的用法进行讲解。
1 IF 函数嵌套ISERROR 函数屏蔽公式返回的错误值
ISERROR 函数用于测试返回的值是否有错,该函数只有一个参数“value”,表示需要测试的值或表达式。
例如,公司在制订年度招聘计划时,有可能某个月没有计划要招聘,那么那个月的计划招聘人数就是 0,当完成招聘后,对每月的招聘完成率进行计算时,就可能返回 #DIV/0! 错误值。
因为招聘完成率=实际招聘人数/计划招聘人数×100%,而作为除数的“计划招聘人数”中含有0值,所以会返回错误值。
此时,为了使表格数据更加规范,就需要将错误值显示为某个固定值。
此时,就可以先使用 ISERROR 函数判断返回的值是否是错误值,然后用 IF 函数来进行判断。
如果要使用 0 值代替招聘表中的#DIV/0! 错误值,则可将 D2 单元格中的公式更改为“=IF(ISERROR(C2/B2*100%),0,C2/B2*100%)”,然后向下填充公式,即可将返回的错误值指定返回为 0 值。
2 IFERROR 函数屏蔽公式返回的错误值
IFERROR 函数用于捕获和处理公式中的错误值,如果公式中的计算结果是错误值,则可返回指定的值,否则返回公式的计算结果。
例如,上例中计算招聘完成率时,通过结合 IF 和ISERROR 函数屏蔽错误值,使用的公式比较长,而使用 IFERROR 函数屏蔽错误值就简单多了。
只需要在 D2 单元格中输入公式“=IFERROR(C2/B2*100%,0)”,然后向下填充公式,即可屏蔽所有错误值。
在使用 IFERROR 函数时,需要注意的是,如果 value 或 value_if_error 是空单元格,则IFERROR 将其视为空字符串值("");如果 value 是数组公式,则 IFERROR 为 value 中指定区域的每个单元格返回一个结果数组。
加精进excel函数成为函数高手的链接
![6834f61a265873851a07ca8dca624b26.gif](https://i-blog.csdnimg.cn/blog_migrate/bf2bc951bd1d6a53a677a6659b511382.gif)
推荐阅读
北京大学出版社 《精进Excel函数》 ▼![eda4f5737600e011d00a2080f23fcb76.png](https://i-blog.csdnimg.cn/blog_migrate/c1cbf911e8d9d3b51030e914027e0832.jpeg)
![c549172be24ff0775f1cd1ad22dbf3c1.png](https://i-blog.csdnimg.cn/blog_migrate/9cddd2479e7e16800cac25bd0cba33ae.jpeg)
![08f85cde1e3f337d641866c2c368ce29.png](https://i-blog.csdnimg.cn/blog_migrate/ab7584a73da1938af58ba28c33ef8c63.jpeg)
![4076e5d5c3df32f726ff1eac859b9d63.png](https://i-blog.csdnimg.cn/blog_migrate/ed27192caf61e409634d11f17c9c42ad.png)
![d2dbb434c8fa503e154ae956d0667751.png](https://i-blog.csdnimg.cn/blog_migrate/ca34a0c9f12d5daa3acf07753f94a239.png)
![4add386073df5213fcf02fc6c4080955.png](https://i-blog.csdnimg.cn/blog_migrate/71c365680b4392dcdad9a4e5ad1bb59d.png)