作者:小北童鞋
来源:芒种学院(ID:lazy_info)
提到Excel必学的函数,IF函数永远有一席之位,无论是在条件判断还是辅助VLOOKUP使用的频率都非常高。
然而绝大部分同学在使用IF函数的时候都会出错,下面这个错误提示相信各位小伙伴应该都非常熟悉了吧。

“运气”好的时候,直接回车函数就能成功运行了,点背的时候,一回车,发现计算结果是错误的。
其实这绝大部分原因都是因为IF嵌套的层数太多导致分不清哪哪导致的。
而且阅读非常困难,如下,你能一眼看出函数的写法哪里出了问题么?

是不是很难发现,更别说那些嵌套了十几层的。
其实如果你安装了最新的Excel版本或者WPS,就可以和IF函数说bye bye了。
因为它来了——更强的IFS和Switch函数。
升级版的IFS函数
首先是IFS函数,只比IF多了一个S,不过功能实在强太多了。
它的语法理解起来也非常简单,可以连续写多个条件。
=IFS(条件1, 值1, 条件2, 值2, ..., 条件N, 值N, TRUE或1, 其他值)Code language: Excel (excel)
来看下一个简单的示例,在单条件的时候IFS比IF稍微多写了一点点,例如判断成绩是否及格。

这里写多了一个TRUE代表当条件不满足>=60的时候,则直接返回“不及格”。
理解起来是不是非常简单呢?
当然单条件的情况下,IFS的优势一点都不明显,接下来看下另外一个多条件判断提成的情况。

理解起来也非常简单,当销售额>200的时候,提成为0.3;大于151小于200的时候,提成为0.2,以此类推。
这个时候利用IFS就可以将条件依次写,如果改成IF看起来就非常复杂了,而且下次修改的时候非常吃力。

只有三四个条件而已,嵌套阅读已经非常困难了,虽然在条件为数值的情况下可以使用LOOKUP来解决,不过通用性非常差。
而IFS就简单了不少,抓紧尝试下吧,接下来看一个更简单的。
SWITCH选择器函数
学过编程的小伙伴对这个函数应该都非常熟悉了,时隔多年,Excel终于也开始支持SWITCH函数了。
SWITCH的语法有两种,我们先来看下第一种:
=SWITCH(TRUE, 值1, 条件2, 值2, ..., 条件N, 值N, 其他值)Code language: Excel (excel)
使用起来和IFS没有太多的差异,这种语法适用于“条件引用的单元格并不是唯一”的情况。
简单举一个栗子。

看起来是不是有点复杂,其实理解起来也很简单。
第一个无脑TRUE,然后依次将条件全部补充即可。
接着我们来看下第2种语法,来尝试将这个函数进行优化。
=SWITCH(要判断的值, 值1, 条件2, 值2, ..., 条件N, 值N, 其他值)Code language: Excel (excel)
看着是不是很绕,来看下这个案例学习下另外一种技巧。

这里由于条件引用的都是相同的单元格,所以可以将B2单元格当成SWITCH函数的第一个参数。
SWITCH就会自动将条件和第一个单元格做等于判断。
另外如果条件是大于、小于、大于等于、小于等于、不等于之类的,就不能使用这个语法了,必须要使用第一种语法。
第一次使用可能会比较难理解,不过熟练后是真香!
最后来谈下这两个函数的兼容性。
IFS函数只兼容Excel 2019或者Office 365,另外测试了WPS也支持,WPS终于能赶上一次了。
而SWITCH的兼容性会强一些,从Excel 2016版本即支持了,WPS测试了也没有任何问题。
© 版权声明
文章版权归作者所有,未经允许请勿转载。




WPS居然能跟上这波更新,泪目
同感!之前总是掉队
那个TRUE得加在最后,之前老是忘写
差点又漏了TRUE
用IFS调提成,改公式超省事
同感,改嵌套IF太痛苦了
嵌套十几层谁顶得住,换IFS真香
三层IF就头晕,得救了
三层嵌套真的容易晕
2016版就能用Switch,老版本用户狂喜
switch函数写等值判断真省事
我也觉得挺省事的
WPS 党狂喜,终于不用数括号了!
原来IFS比IF少写那么多括号
确实简洁很多
原来IFS还能这样用,以前都是硬着头皮嵌套
等值判断用第二种语法确实快,但非等值只能回退
这函数对老Excel太不友好了吧,白高兴一场
之前嵌套三层就眼花了,现在看IFS简直清爽
Mac版WPS能用SWITCH吗?求实测过的说一声
提成那个例子我试了,IFS写起来顺手多了
感觉还行
看到大家抢着用IFS,热闹
我之前用IF嵌了五层,表格卡死了
说啥都好,老版本公司根本用不了
SWITCH里TRUE要放第一位吗?
TRUE放第一位是必须的,不然逻辑全乱,亲测过
不过老Excel里没有IFS,只能手工拆分
IFS真的省事,我再也不想写层层IF了 😂
求问这个在Mac版WPS能用吗?
我之前也踩过这个坑,IF嵌套到第三层就乱了
又是标题党?说“告别IF”,结果老版本根本不能用啊
老版本用户真的哭死,公司电脑还是2016版
那个啥,SWITCH第二种语法只能用于等值判断是吧?
感觉还行,刚试了下提成那个例子,确实比IF好读
太贵了吧这也,公司还在用Excel 2016根本跑不了IFS
SWITCH那个第一种语法是不是写反了?条件和值顺序看着怪怪的
好像是先写TRUE再配对,倒是有点绕
SWITCH第一种语法确实有点劝退
之前嵌套四层IF直接崩溃,改用查表法了
我也试过查表,数据量大时挺稳的
WPS这次居然没掉链子,有点惊喜😂
IFS比IF清爽多了,终于不用数括号了
不用数括号真的救我狗命,嵌套IF写到怀疑人生
IFS这函数真不错,逻辑清晰多了。
SWITCH函数这语法看着有点绕,得多练练才行。
多练几次就熟了
WPS居然也能用了,有点意外。
IFS和SWITCH对老版本不友好啊,公司电脑还是2010的。
同款旧版本,只能望函数兴叹了。
之前用IF嵌套到第五层直接放弃,改用VBA了
IFS比IF清晰多了,嵌套少看着舒服。
SWITCH函数比IFS还难懂点,得多用几次才行。
多用几次就顺手了
Excel 2016能用吗?
我的2016也不行。
WPS居然跟上了?有点意外🤔
我也惊讶,之前一直以为只能用Excel
WPS居然也支持?有点意外
我一开始也挺惊讶的。
SWITCH的第二种语法挺实用的
我也觉得,写起来清爽多了
IFS这函数早该普及了,嵌套IF看得我头大