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函數公式統計文本出現次數的方法
