Excel:if公式嵌套太多了,用choose函数替代吧

2021年10月10日21:32:34Excel:if公式嵌套太多了,用choose函数替代吧已关闭评论 127 views
微信公众号 【EXCEL880】 QQ群【165159540】 Excel课程咨询 请加郑广学老师微信EXCEL880B

IF函数虽然简单好用,但是如果条件多了,写起来不仅麻烦还很容易出错,好不容易写完了,维护也麻烦,因为难以看懂它。所以,建议超过3层的if公式就不要写了,用其他函数替代,如choose。

choose函数用法

Excel:if公式嵌套太多了,用choose函数替代吧

语法:choose(序号,数值1,数值2,数值3,…)

功能:取出指定序号处的数值,序号必须为整数,如果是小数,会自动舍弃小数部分。

例如上图中的“=CHOOSE(3,"A1","B2","C3","D4","E5")”将得到第3个值,也就是“C3”。但序号如果是“3.8”(即第2个公式),则会先将小数“3.8”取整得到“3”,然后查找第3个值。

这么一看,似乎和IF没有太大关系啊。

那我们就继续往下看吧。

实例1

不同级别的客户打折力度不同,请问左表的客户可以打多少折?

Excel:if公式嵌套太多了,用choose函数替代吧

如果你用IF公式,将写出下面这么长的公式来。

=IF(B2=$G$2,$H$2,IF(B2=$G$3,$H$3,IF(B2=$G$4,$H$4,$H$5)))

​如果用choose,那么公式是:

=CHOOSE(MATCH(B2,$G$2:$G$5,0),$H$2,$H$3,$H$4,$H$5)

公式中的match部分用于查找B2单元格在$G$2:$G$5的位置。明显,choose公式的可读性更好,但好像choose也没有比IF短很多嘛。

实例2

​一周7天,每天都有不同的人负责打扫卫生,那么今天谁负责呢?

Excel:if公式嵌套太多了,用choose函数替代吧

这个需求要是使用if公式写,那就太太太长了。

=IF(WEEKDAY(A2,2)=1,$F$2,IF(WEEKDAY(A2,2)=2,$F$3,IF(WEEKDAY(A2,2)=3,$F$4,IF(WEEKDAY(A2,2)=4,$F$5,IF(WEEKDAY(A2,2)=5,$F$6,IF(WEEKDAY(A2,2)=6,$F$7,$F$8))))))

如果用choose,那就简化为:

=CHOOSE(WEEKDAY(A2,2),$F$2,$F$3,$F$4,$F$5,$F$6,$F$7,$F$8)

是不是choose的优势就出来啦?

实例3

​给出一个生日,怎么知道他的生肖是什么?

Excel:if公式嵌套太多了,用choose函数替代吧

if公式已经完成不了这么多条件的判断了,不过choose函数还是挺方便的。

choose公式:=CHOOSE(MOD(YEAR(A2),12)+1,"猴","鸡","狗","猪","鼠","牛","虎","兔","龙","蛇","马","羊")

总结

当条件较少时,if更方便,因为choose的第一个参数必须是整数;当条件很多时,choose比if更简洁。


​学习,为了更好的生活。欢迎点赞、评论、关注和点击头像。​​​

表格 定制  数据 合并 处理 分析 VBA 编程 开发 网页