IF函数是工作中最常用的函数之一,但很多同学会把IF函数公式写的老长老长,今天本文用5个示例教大家优化成简短的公式 。
1、把负数转换为0
优化前:
=IF(A1<0,0,A1)
【IF函数公式优化使用范例】优化后:
=Max(A1,0)
点评:该公式巧妙的利用Max函数求最大值的原理,对比两个数,如果小于0,就取最大值0.
2、累计数公式
优化前:
=IF(isnumber(D1),C2+D1,C2)
优化后:
=N(D1)+C2
点评:N函数可以把文本转换成0值,所以也不用再判断是不是数字 。直接+即可 。
3、如果A1大于等于100取前两位,小于100取前一位
优化前:
=IF(A1>=100,LEFT(A1,2),LEFT(A1,1))
优化后:
=LEFT(A1,(A1>=100)+1)
点评:(A1>=100)结果是TRUE或FALSE,在计算时相当于1或0,所以这里就不用再加判断了 。
4、如果有任一个为空,公式返回不可比,否则显示"示可比" 。
优化前:
=IF(C11="","不可比",IF(D11="","不可比",IF(E11="","不可比",IF(F11="","不可比",IF(G11="","不可比",IF(H11="","不可比",IF(I11="","不可比",IF(J11="","不可比",IF(K11="","不可比",IF(L11="","不可比",IF(M11="","不可比",IF(N11="","不可比","可比"))))))))))))
优化后:
=IF(COUNT(C10:N10)<12,"不可比","可比")
点评:一个一个的判断,不如用COUNt函数统计非空值个数 。
5、区间判断
优化前:
=IF(AND(C6>0,C6<=2),3,IF(AND(C6>2,C6<=8),1.5,IF(AND(C6>8,C6<=19),0.7,IF(AND(C6>19,C6<=29),1,IF(AND(C6>29,C6<=80),1.6,IF(AND(C6>80,C6<=100),1.7,IF(AND(C6>100,C6<=150),2.4,IF(AND(C6>150,C6<=200),3.2,IF(C6>200,4.0,0)))))))
优化后:
=LOOKUP(C6-1%%,{0;2;8;19;29;80;100;150;200},{3;1.5;0.7;1;1.6;1.7;2.4;3.2;4})
点评:这是一个典型的区间判断 。LOOKUP函数可以返回 比查找的值小且和它最接近的值或对应第3个参数的值 。因区间是>和<=形式,所以这里必须把值减去一个小数(C6-1%%) 。如果不减,当C6=2时,返回的不是3,而是1.5 。
推荐阅读
- 35个Excel常用函数大全
- Excel2013中使用函数向导输入公式的方法
- 使用LEFT函数实现字符串截取的两则使用实例
- DATEDIF函数的语法及实际应用案例
- 使用Excel函数实现比赛评分中去掉特定分数后求平均值的方法
- 使用Excel函数实现分填数字金额的方法
- COUNTIF函数用法大全
- excel公式相关的操作大全
- 使用RIGHT函数实现字符串截取的方法
- 使用Excel函数公式统计文本出现次数的方法