編按:哈嘍,大家好!說到excel中關於數值取捨的方法,可能很多小夥伴都不怎麼在意,總覺得不就是對數值進行四捨五入或者是取整嗎,用處又不大,有什麼好講的。nonono!數值的取捨遠遠不止這些,並且它們在工作中用處可大了,比如計算工齡,用於貨幣單位的轉化等等,今天我們就一起來好好認識認識它們吧!學習更多技巧,可以收藏部落窩教育excel圖文教程。
當計算結果為小數時,我們通常會對其小數位進行取捨,以得到符合我們要求的數據。對於數值的取捨,不僅有數學中的四捨五入法,還有向上、向下、截尾的方式取捨數據,下面小編就來逐一介紹下。
一、捨入到最接近基數的整數倍
1.向上捨入到最接近基數的整數倍
我們需要將某些數據小數點後的數值捨入到某一指定數值的倍數,這時候就可以使用CEILING()函數來實現。CEILING是天花板、最高限度的意思。CEILING函數的語法格式為:CEILING(number,significance)。
從函數的語法格式上可以看出,CEILING()包含兩個必選參數number和significance。參數number表示要對其進行取捨的原數值,參數significance表示需要進行捨入的倍數,即捨入基數。CEILING()函數將返回大於且最接近number的significance的倍數。
CEILING函數中的兩個參數必須是數值型數據,否則函數將返回錯誤值#VALUE!。在對number進行取捨時,如果number和significance都為負,則對number按遠離0的方向進行向下捨入,如果number為負,significance為正,則對number按朝向0的方向進行向上捨入,如果number已經是significance的倍數,則不進行捨入。
舉個例子,在下方表格的C列調用CEILING()函數,A列為指定的數值(number),B列為捨入基數(significance)。可以看出A2單元格值11.3經過運算後的結果是15。下面我們根據CEILING函數的作用來解析一下計算過程:比11.3大(向上捨入)且必須是5的倍數,12、13、14都不是5的倍數,而最接近11.3的5的倍數是15,所以返回結果15。
可能有的朋友還覺得CEILING()函數比較抽象,應用範圍窄,那麼下面我們再舉一個例子。
網吧是小夥伴們初中、高中的記憶,某網吧的收費標準為:半小時收費兩元,不足半小時按半小時算,超過半小時按每15分鐘收費1元算,不足15分鐘按15分鐘算,現需要計算出每個客戶的消費金額。首先我們需要先計算出每個客戶實際的上網時長,再對這個時間進行處理,得到實際的計費時長,再根據收費規則計算出實際的收費金額。
操作步驟如下:
① 在D2單元格中輸入「=C2-B2」,按Enter鍵,得到第一位客戶的上網時長。保持D2單元格的選中狀態,單擊滑鼠右鍵,選擇「設置單元格格式」,選擇「自定義」選項,輸入代碼「[<1]h"小""時"mm"分";[>1]d"天"h"小""時"mm"分"」,單擊確定按鈕完成設置。該代碼用於將一個時間序列號顯示為我們平常輸入的時間樣式,它可以在時間序列號小於1時,顯示「XX小時XX分鐘」,而在時間序列號大於1時,顯示「XX天XX小時XX分鐘」。
② 在E2單元格中輸入公式「=IF(D2<1/24/2,2,CEILING(D2*24*60,15)/15*1)」,用於計算出計費金額。其中「D2<1/24/2」部分用於判斷D2的時間是否小於半小時,如果是,則返回數字2,否則通過CEILING()函數返回「D2*24*60」的值的15的倍數,再除以15的值,表示一共有多少個15分鐘。其中,「D2*24*60」部分是將D2單元格的時間序列,轉換為以分鐘為單位的時間。
③ 選中D2、E2行,滑鼠向下填充至數據區域結尾,網吧的客戶收費表就做成了。
其實,如果只是需要向上捨入到某個指定位數的值,使用ROUNDUP()函數也可以完成,該函數基本功能是遠離0值,向上捨入數字,其語法格式為:ROUNDUP(number,num_digits)。該函數包含兩個必選參數number和num_digits,其中number是函數要處理的數值,必須是數值型數據,而num_digits則表示要保留的小數位數,該參數可以取大於0,等於0,或小於0的任意整數。當num_digits參數大於0時,函數向上捨入到指定的小數位;當num_digits參數等於0時,函數向上捨入到最接近該值的整數;當num_digits參數小於0時,函數在小數點左側向上進行捨入。
2.向下捨入到最接近基數的整數倍
我們需要將某些數據小數點後的數值向下捨入到某一指定數值的倍數,這時候就可以使用FLOOR()函數來實現。
其語法格式為FLOOR(number,significane),FLOOR是地板、最低限度的意思。從函數的語法格式可以看出FLOOR()函數與CEILING()函數的語法格式完全相同,各參數的意義也完全相同,在此,不多敘述。舉個例子能幫助我們更好地理解該函數。
某公司根據員工參加工作的時間計算工齡,工齡計算的截止日期為本月的第一天,參加工作的日期不足12個月的不計工齡。
在C2單元格中輸入「=FLOOR(DATEDIF(B2,DATE(YEAR(TODAY()),MONTH(TODAY()),1),"M"),12)/12&"年"」,按Enter鍵輸入公式。該公式包含了多個函數嵌套。其中,「DATE(YEAR(TODAY()),MONTH(TODAY())」部分用於返回當前月份1號的日期,如當前系統日期為2020年2月8日,則該表達式返回結果為2020年2月1日。得到日期後,再通過DATEDIF()函數返回員工參加工作的日期與該日期之間相隔的月份數,最後用FLOOR()函數取最接近12倍的整數,並將得到的結果除以12即可得到員工的實際工齡。
使用CEILING()函數或FLOOR()函數,可以向上或向下取得最接近number的significance的倍數,如果significance參數為1,則與ROUNDUP()函數和ROUNDDOWN()函數的第二參數取0時的結果相同。
二、按指定位數進行四捨五入
四捨五入是數學中常用的數值取捨方法,在EXCEL中對數值進行四捨五入的函數是ROUND()函數,其語法格式為ROUND(number,num_digits)。ROUND()函數、ROUNDUP()函數、ROUNDDOWN()函數的語法格式和參數都相同,其中number表示要進行取捨的數字,num_digits表示要取捨的位數。
使用ROUND()函數較多的地方是在有關貨幣單位的轉換上,如將A2單元格中以「元」為單位的數據除以10000再使用ROUND()函數進行四捨五入,即可得到B2單元格中以「萬元」為單位的數據。更多關於ROUND函數的知識,可以查看往期文章《我要讓全世界知道,你的四捨五入,被我ROUND家族承包了!》。
三、將數字截尾取整
只需要數據的整數部分,這就是數值的截尾取整,在EXCEL中進行截尾取整的函數是INT()函數。
INT函數的語法結構很簡單為INT(number),僅有一個number參數,表示要進行向下截尾取整的數字。例如,兩個代表時間的序列值相減,其整數部分就是兩個時間之間相差的整天數。
舉個例子,B列和C列分別記錄的是兩個帶時間的日期,將C3-B3的值取整,即在D3單元格中可得到兩個日期之間相差的整天數。將C3-B3的值再減去D3,即可得到兩個日期之間相差的小數部分,將此小數乘24後取整,即可得到兩個時間之間除整天數外剩餘相差的小時數。
好了,關於數值的取捨的方法就介紹到這,我們也認識了CEILING()、FLOOR()、ROUND()、ROUNDUP()、ROUNDDOWN()、INT()函數,聰明的你有什麼別的想法,歡迎留言。學習更多技巧,可以收藏部落窩教育excel圖文教程。
****部落窩教育-excel數值取捨技巧****
原創:賦春風/部落窩教育(未經同意,請勿轉載)