在平時的數據處理中,特別是財務,經常需要對滿屏的數據的小數位進行一定的捨入處理。捨入情況很多種,有時可能需要數據的四捨五入,有時可能只舍不入,也有向上捨入或是向下捨入,等等。
怎麼對數據進行不同情況的捨入處理?
今天我羅列了幾個常用的捨入類函數,分別為:INT函數、TRUNC函數、ROUND函數、ROUNDUP函數、ROUNDDOWN函數、FLOOR函數、CEILING函數。看看這些函數都是怎麼處理數據的。
一、INT函數
Int函數是向下取整函數,即將數字向下捨入到最接近的整數,不帶有四捨五入。
語法格式:INT(number)
應用實例:
從上圖,我們可以看出,
1、int函數對於正數,直接截掉小數取整;
2、int函數對於負數,總是向上進位,即朝遠離0的方向的整數取值。
二、TRUNC函數
trunc函數與int函數類似,可以截取整數部分。但trunc函數不同於int函數的是:
1、trunc函數不管是正數,還是負數,都是直接去除數字的小數部分;
2、trunc函數還可以截取保留指定小數位位數的數字。
語法格式:TRUNC(數字,[保留位數])
第二個參數為可選參數,可寫可不寫。如果省略不寫,則默認為0。
應用實例:
三、ROUND函數
Round函數是用來對數值進行四捨五入的函數。
語法格式:ROUND(數字, 保留小數位數);
第二個參數可大於0,也可小於0,也可等於0;
當第二個參數大於0時,表示把數字四捨五入到指定小數位數;
當第二個參數小於0時,表示把數字四捨五入到小數點左邊的相應位數;
當第二個參數等於0時,把數字四捨五入到最接近的整數。
應用實例:
說明:當第二個參數為負數,表示把數字四捨五入到小數點左邊的相應位數。上圖中的Round(A6,-1),表示將A6中的數字108.281從小數點處往左移一位,即到了十分位,由於個位大於5,因此個位向十分位進一,個位變為0,所以返回110。上圖中的ROUND(A8,-1),由於個位小於5,因此直接捨去,個數變為0,所以返回250。
四、ROUNDUP函數
Roundup函數主要用於對一個數字向上捨入,它跟四捨五入不一樣,不管捨去的首位數字是否大於4,都向前進1。
語法格式:ROUNDUP(數字,[保留位數])
第二個參數同樣可大於0,也可小於0,也可等於0;
當第二個參數大於0時,則表示將數字向上捨入到指定的小數位;
當第二個參數小於0時,則在小數點左側向上進行捨入);
當第二個參數等於0時,則將數字向上捨入到最接近的整數。
應用實例:
五、ROUNDDOWN函數
Rounddown函數正好與roundup函數是相反的,是對數字向下捨入的。
語法格式:ROUNDDOWN(數字,[保留位數]);
第二個參數同樣可大於0,也可小於0,也可等於0;
當第二個參數大於0時,則將數字向下捨入到指定的小數位數;
當第二個參數小於0時,則將數字向下捨入到小數點左邊的相應位數;
當第二個參數等於0時,則將數字向下捨入到最接近的整數
應用實例:
六、FLOOR函數
Floor函數是將數字向下捨入到最接近的整數或最接近的指定基數的倍數。
語法格式:FLOOR(number,significance);
參數number:表示向下捨入的數值;
參數significance:表示捨入的倍數。
應用實例:
從上圖中,可以看到:
1、如果number為正,floor函數會向靠近零的方向捨入;
2、如果number為負,floor函數則會向遠離零的方向捨入;
3、如果number為正,significance為負,則 FLOOR 將返回錯誤值 #NUM!;
4、如果number恰好是significance的整數倍,則不進行捨入。
七、CEILING函數
Celling函數正好與floor函數相反,將數值向上捨入(沿絕對值增大的方向)為最接近的指定基數的倍數。
語法格式:CEILING(number, significance)
參數Number,表示要捨入的值;
參數Significance,表示要捨入到的倍數。
應用實例:
總結:
1、如果 number 和 significance 都為負,則對值按遠離 0 的方向進行向下捨入。
2、如果 number 為負,significance 為正,則對值按朝向 0 的方向進行向上捨入。
3、如果 number 正好是 significance 的倍數,則不進行捨入。
以上是關於捨入類的7個函數的簡單總結。希望對你有用。