EXCEL中可以處理小數點位數的函數不少,其中比較常用的有取整函數INT()、正常四捨五入函數ROUND()。這些函數在EXCEL中歸類於「數學與三角函數」,那什麼情況下需要用到這些函數呢?
圖1中,我們知道15÷10的精確答案是1.5,若場合需要讓這個結果顯示為整數(即不保留小數點),我們可以「設置單元格格式」→「數值」→「小數位數」選0。EXCEL 2007以上的版本也可以如下圖操作,在表格上方的功能區「開始」→「數字」欄,直接點擊「減少小數位數」。
圖1
圖1中存放算式15÷10結果的C1單元格如願顯示為整數了,但若拿它參與其他計算比如C1*3,得到的結果4.5卻是按原來的精確結果1.5進行運算的。如果就是希望後續參與計算的都是我們看到的整數2呢,那INT()/ROUND()/CEILING()函數們就派上用場了。
圖2 INT函數向下取整
圖3 Round四捨五入、Rounddown靠近零值捨入
圖4 Roundup遠離零值捨入數字
公式說明
INT(數值):將數值向下取整為最接近的整數(即比原值小)。
比如INT(1.5)=1,
又比如INT(-1.5)=-2。
Round(數值,保留小數點位數):按要求將數值四捨五入(小數點位數可增可減)。
比如Round(1.5,0)=2,
比如Round(-21.82,1)=-21.8,
又比如Round(21.82,-1)=20。
Rounddown(數值,保留小數點位數):指靠近零值,將數值向下(絕對值減小的方向)捨入數字。
比如Rounddown(1.5,0)=1,
比如Rounddown(-21.82,1)=-21.8,
又比如Rounddown(21.82,-1)=20。
Roundup(數值,保留小數點位數):指遠離零值,將數值向上(絕對值增加的方向)捨入數字,與Rounddown剛好相反。
同樣的例子Roundup(1.5,0)=2,
而Roundup(-21.82,1)=-21.9,
而Roundup(21.82,-1)=30。
重點:Rounddown/Roundup公式語法跟Round一樣,但得到的結果可不一定相同;函數書寫過程大小寫不影響使用。
Ceiling(數值,基數):注意咯,該函數的第二個參數叫「基數」,不同於上面ROUND()函數們是「保留小數點位數」。所以,Ceiling()和Floor()不僅可以處理小數點位數問題,還可以參與其他更複雜的情況。Ceiling函數,是將數值「向上捨入」到指定基數最接近的倍數。
Floor(數值,基數):跟Ceiling()正好反過來,Floor函數是「向下捨入」,即取按照數軸上最接近要求值的左邊值,即不大於要求值的最大的那個值。
比如輸入公式=Ceiling(22.5,3),結果為24(比22.5大且最接近22.5的3的倍數);輸入公式=Floor(22.5,3),結果為21(比22.5小且最接近22.5的3的倍數)。再試試數值為負的情況,Ceiling(-8,3)=-6,而Floor(-8,3)=-9。
圖5 Ceiling向上捨入、Floor向下捨入
理解了這幾個函數的基本用法,剛好手邊有個實際應用的例題,我們看看這幾個函數在實際工作中的應用,正好加深理解。
題目要求:根據完成率求績效分,完成率大於或等於80%時績效分為0,完成率小於80%時,每減少1%,績效分扣1分,依此類推。
題目分析:題目未明確說明完成率減少不足一個百分點時怎麼計算績效分(即績效分是否取整數),那麼就有三種情況,因此有多個答案多種寫法。正好我們拿來練手,就把各種情況試個遍。
圖6 實際運用函數處理小數點位數
單元格B2公式:
=MAX((0.8-A2)/1%,0)
單元格C2公式:
=-MIN((A2<80%)*(80%-A2)/1%)
單元格D2公式:
=-FLOOR(MAX((0.8-A2)/1%,0),1)
單元格E2公式:
=-ROUNDDOWN(MIN((A2<80%)*(80%-A2)/1%),0)
單元格F2公式:
=CEILING(MAX((0.8-A2)/1%,0),1),0)
單元格G2公式:
=ROUNDUP(MIN((A2<80%)*(80%-A2)/1%),0)
分別輸入以上公式回車後下拉,就OK了。
-往期文章-
EXCEL條件求和
EXCEL條件求和2
EXCEL一對多條件查找顯示多個結果(INDEX+SMALL+IF+ROW函數組合)
EXCEL中百變的TEXT函數
EXCEL條件格式的妙用
EXCEL查找王--LOOKUP函數的N種用法
讓你的EXCEL表格動起來——OFFSET函數
OFFSET+MATCH函數的初級應用
VLOOKUP嵌套OFFSET、MATCH函數的使用
EXCEL花式排名公式