课程咨询 加我微信EXCEL880B 试学网址http://v.excel880.com
IF函数虽然简单好用,但是如果条件多了,写起来不仅麻烦还很容易出错,好不容易写完了,维护也麻烦,因为难以看懂它。所以,建议超过3层的if公式就不要写了,用其他函数替代,如choose。
choose函数用法
语法:choose(序号,数值1,数值2,数值3,…)
功能:取出指定序号处的数值,序号必须为整数,如果是小数,会自动舍弃小数部分。
例如上图中的“=CHOOSE(3,"A1","B2","C3","D4","E5")”将得到第3个值,也就是“C3”。但序号如果是“3.8”(即第2个公式),则会先将小数“3.8”取整得到“3”,然后查找第3个值。
这么一看,似乎和IF没有太大关系啊。
那我们就继续往下看吧。
实例1
不同级别的客户打折力度不同,请问左表的客户可以打多少折?
如果你用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天,每天都有不同的人负责打扫卫生,那么今天谁负责呢?
这个需求要是使用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
给出一个生日,怎么知道他的生肖是什么?
if公式已经完成不了这么多条件的判断了,不过choose函数还是挺方便的。
choose公式:=CHOOSE(MOD(YEAR(A2),12)+1,"猴","鸡","狗","猪","鼠","牛","虎","兔","龙","蛇","马","羊")
总结
当条件较少时,if更方便,因为choose的第一个参数必须是整数;当条件很多时,choose比if更简洁。
学习,为了更好的生活。欢迎点赞、评论、关注和点击头像。