欢迎光临散文网 会员登陆 & 注册

说实话,我没想到IF函数还有这么多的神仙用法!

2023-07-20 08:49 作者:秋叶Excel  | 我要投稿

Hi,大家好,我是偏爱函数公式,爱用 Excel 图表管理仓库的大叔 Mr 赵~


在我们的实际工作中,IF 函数无人不知,无人不晓,出镜率相当高。因为它帮我们解决了工作中需要进行判断的绝大多数问题。


然而这个看似简单且常用的函数,你真的会用吗?下面这些隐藏的神仙用法,你真的知道吗?
今天我们就来好好梳一梳,理一理


IF 函数对单值条件的判断


IF 函数用来判断是否满足某个条件,如果满足返回一个值,如果不满足则返回另一个值。
它有 3 个参数:

  • =IF(条件判断,值 1,值 2)

如下图,判断 B3 单元格的成绩,如果小于 60,返回「不达标」,否则返回「达标」。

在 C3 单元格输入公式:

  • =IF(B3<60,"不达标","达标")

<60 是判断的条件,B3 单元格的值是 55,55<60 满足条件,返回 IF 函数第 2 参数的值「不达标」。


当 B3 单元格的值发变化,为 89 时,89<60 不满足条件,返回 IF 函数第 3 参数的值「达标」。



公式判断的流程图就是这样的:



相信很多小伙伴都会使用单个 IF 函数作判断,但是当使用多个 IF 函数进行嵌套时,就会迷糊。



IF 函数的多层嵌套


比如,根据气温判断条件,返回不同的结果:

  • 当气温<10 时,返回"冻";

  • 当 10<=气温=<15 时,返回"冷";

  • 当 15<当气温<=27 时,返回"舒适";

  • 当 27<气温<=30 时,返回"热";

  • 当 30<气温<=35 时,返回"很热";

  • 当气温>35 时,返回"炎热"。


由于条件比较多,我建议大家画个草图,便于理清思路:



只要顺着这个逻辑,条件再多,也会变得简单。

  • =IF(B3<10,"冻",  

  • IF(B3<=15,"冷",  

  •  IF(B3<=27,"舒适",    

  •  IF(B3<=30,"热",      

  •  IF(B3<=35,"很热","炎热")  

  •       )       

  •  )      

  • )    

  • )


公式判断的流程图就是这样:

需要提醒大家的是:


❶ 写 IF 函数公式时,不要重复判断,做一些画蛇添足的事儿,比如公式:

  • =IF(B3<60,"不达标","达标")

就不要写成:

  • =IF(B3<60,"不达标",IF(B3>=60,"达标"))

❷ 判断的区间不要漏掉,特别是临界值,比如气温 15,是「冷」还是「冻」。


❸ 思路放开一点,不要老和 IF 函数较劲,对连续数值,区间的判断,你用 LOOKUP 函数不香吗?👇👇👇


听说你还不会 Lookup?用过的人都说香,错过后悔 1 个亿!


我们再来谈谈,写 IF 函数公式时,应当如何简化。


IF 函数简化


如下图根据性别和年龄,判断是否在劳动力年龄范围内。


用公式返回如 D 列的效果:标记为「√」为适龄劳动力,标记为「×」则是非适龄劳动范围。
注:男性为 16 岁-59 岁,女性为 16 岁-54 岁为劳动适龄范围。



问题分析:首先判断性别是否为男,返回满足条件(男)和不满足条件(女),分成两类;


然后再对各自性别的年龄进行条件判断,如下图:



按照上面的逻辑关系图,在 D3 单元格写入公式:

  • =IF(B3="男",

  •  IF(C3<16,"×",IF(C3<60,"√","×")),

  •  IF(C3<16,"×",IF(C3<55,"√","×"))  )

效果如下图:



这时候会发现:无论性别是男还是女,只要年龄小于 16 岁,都在不适龄范围。


关系图就可以简化,改成这样:

公式就可以写成:

  • =IF(C3<16,"×",

  •  IF(B3="男",IF(C3<60,"√","×"),

  •  IF(C3<55,"√","×"))  )

效果如下图:



我们不妨再从条件中寻找规律:


男性的年龄区间是(16,60),女性的年龄区间是(16,55),可以看出,它们的左区间相同,而右区间相差 5 岁。


这样,我们又可以将公式再次简化:

  • =IF(AND(C3>16,C3<(B3="男")*5+55),"√","×")

效果如下图:



IF 函数构造数组



我再次啰嗦一下,IF 函数的语法,因为它很重要,也必须要搞清楚:如果条件成立,返回结果「值 1」,如果条件不成立,返回结果「值 2」。


❶ 当条件为逻辑值 TRUE,表示条件成立,当条件为 FALSE 时,表示条件不成立。


如下图,条件为 TRUE,代表真,即条件成立,返回第 1 个值,就是 1,



如下图,条件为 FALSE,代表假,即条件不成立,返回第 2 个值,就是 5。



❷ 当条件为非 0 的数值时,表示条件成立,当条件为 0 时,表示条件不成立。


如下图,条件为 1,代表真,即条件成立,返回第 1 个值,就是「Yes」,



如下图,条件为 0,代表假,即条件不成立,返回第 2 个值,就是「No」。

❸ 当条件为一个数组时:如下图,当条件为数组{1,0}时,1 表示条件成立,返回结果「Yes」,0 表示条件不成立,返回结果「No」。


最后结果也会返回一个同样大小的数组:{"Yes","No"}。

当条件为数组{1,1,0}时,也是一样的原理,如下图,结果也会返回一个同样大小的数组:{"Yes","Yes","No"}。




❹ 当 IF 函数的返回值也是数组时,同样会遵循数组运算的自适应变化,返回的结果也是一个数组。


如下图,IF 函数条件是{1,0},设定的第 2 参数内容是姓名列的值,第 3 参数是部门列的值。
返回的结果就是部门列与姓名列的二维数组:



这就是大家经常看到的 VLOOKUP 逆向查询,其实就是利用 IF 函数构造数组,实现位置互换的功劳!



在学习函数过程中,学会举一反三,尝试使用不同的方式计算,不要局限于只会使用一种方法。


当你各种方法都尝试了之后,才会知道哪一个方法最简单并且最适合自己,函数并不是越复杂越好,越复杂可能越容易出错。


如果大家对 IF 函数还有什么疑问,欢迎在文章下方留言。





秋叶家夏季福利来啦——《3 天 Excel 集训体验营》


专为职场人准备,基于职场真实案例设计表格,超实用的 Excel 技巧集合教学。


从此不愿再为表格而加班,那就行动起来!3 天搞定表格难题!


《秋叶 Excel 3 天集训营》

想提升,趁现在!

福利大放送 

课程原价99

现在只需1元

不再被加班支配,不再为表格发愁!

免费赠送【35 个常用函数说明】哦!

赶紧扫码预约吧!👇👇👇

*广告


说实话,我没想到IF函数还有这么多的神仙用法!的评论 (共 条)

分享到微博请遵守国家法律