今天的事情源于群里這樣一個(gè)普普通通的問題:怎么讓值的后兩位變成兩個(gè)0,比如說我算出來是2517.32,怎么變成2500?
提問者剛發(fā)出自己的問題,就被秒殺了:=ROUND(A1,-2)
公式用的中規(guī)中矩,就是一個(gè)用round函數(shù)來進(jìn)行四舍五入的公式,雖然簡單,也有同學(xué)驚呼:原來round函數(shù)的第二參數(shù)還能用負(fù)數(shù)!
好吧,來補(bǔ)補(bǔ)課:ROUND(要進(jìn)行舍入的數(shù)字,要進(jìn)行舍入的位數(shù)),第二參數(shù)為正數(shù)時(shí),將數(shù)字四舍五入到指定的小數(shù)位;第二參數(shù)為0時(shí),將數(shù)字四舍五入到最接近的整數(shù);第二參數(shù)為負(fù)數(shù)時(shí),則在小數(shù)點(diǎn)左側(cè)進(jìn)行四舍五入。本例中用的-2,也就是按照十位的數(shù)字進(jìn)行四舍五入。
關(guān)于第二參數(shù)取正數(shù)、零和負(fù)數(shù)的情況,可以通過下面這個(gè)例子來了解一下:
補(bǔ)課內(nèi)容結(jié)束,回到前面的問題。面對這個(gè)公式,提問者對問題進(jìn)行了補(bǔ)充:789.2這個(gè)數(shù)據(jù)的結(jié)果有點(diǎn)問題,希望得到的結(jié)果是700而不是800。
這很容易實(shí)現(xiàn)了,只要派出ROUND的系列函數(shù)ROUNDDOWN就能解決:=ROUNDDOWN(A1,-2)
ROUNDDOWN函數(shù)的作用是靠近零值,向下(絕對值減小的方向)舍入數(shù)字。具體用法與ROUND一樣,區(qū)別在于ROUND是按照指定的位數(shù)進(jìn)行四舍五入,而ROUNDDOWN是向下舍入的。
換上這個(gè)函數(shù)之后,問題得以解決。可是接下來卻引發(fā)出了一場公式大戰(zhàn),這是所有人都沒有想到的……
既然ROUNDDOWN函數(shù)都出場了,有人就提出了一個(gè)ROUNDUP的解決方案:=ROUNDUP(A1-100,-2)
ROUNDUP函數(shù)與ROUNDDOWN函數(shù)作用類似,只不過是向上舍入,因?yàn)樯崛氲姆较蜃兞耍圆荒苤苯佑肁1作為參數(shù),要用A1-100作為舍入的數(shù)據(jù)(為什么要減100,有興趣的朋友可以自己去琢磨一下)。
在舍入類函數(shù)中,除了以上的這三個(gè)之外,還有兩個(gè)函數(shù)分別是FLOOR和CEILING,也不能幸免的被人翻了出來,使用FLOOR函數(shù)的方案為:=FLOOR(A1,100)
使用CEILING函數(shù)的方案為:=CEILING(A1-100,100)
這兩個(gè)函數(shù)的舍入原理與ROUND系列函數(shù)不同之處在于不是按照指定的位數(shù)進(jìn)行舍入,而是按照指定的基數(shù)進(jìn)行舍入。
FLOOR函數(shù)是按照指定的倍數(shù)向下舍入:FLOOR(數(shù)據(jù),倍數(shù))
CEILING是按照指定的倍數(shù)向上舍入:CEILING(數(shù)據(jù),倍數(shù))
通過這兩個(gè)示例的對比,朋友們可以比較直觀的了解兩個(gè)函數(shù)的異同之處。
對于大部分朋友來說,按照指定的位數(shù)進(jìn)行舍入比較符合習(xí)慣,而按照指定的倍數(shù)關(guān)系來進(jìn)行舍入可能會有一點(diǎn)點(diǎn)難以理解。如果對這幾個(gè)函數(shù)有興趣,可以在文末留言,我們會對相關(guān)函數(shù)進(jìn)行更為詳細(xì)的介紹。
至此,這個(gè)問題已經(jīng)出現(xiàn)了五個(gè)不同的方案,就在這些專門用于舍入的函數(shù)紛紛出馬進(jìn)行較量,難分高下之際,有人又給出了一個(gè)使用MOD函數(shù)的方案:=A1-MOD(A1,100)
MOD函數(shù)是一個(gè)計(jì)算余數(shù)的函數(shù):MOD(被除數(shù),除數(shù))。
這個(gè)函數(shù)根據(jù)指定的被除數(shù)和除數(shù)計(jì)算出對應(yīng)的余數(shù),正常情況下,MOD(A1,100)得到的是一個(gè)數(shù)字百位以下的部分:
用一個(gè)數(shù)字減去百位以下的部分留下的就是百位以上的內(nèi)容了,這個(gè)公式?jīng)]有用到舍入的思路,純粹是在玩數(shù)字的計(jì)算了。
既然MOD(余數(shù))都能用,那么INT(取整)為什么不能用呢?順著這個(gè)思路,又出現(xiàn)一個(gè)解法:=INT(A1/100)*100
INT取整函數(shù):INT(要取整的數(shù)字),這個(gè)函數(shù)非常簡單,只要一個(gè)參數(shù),作用也很容易理解,就是將數(shù)字向下舍入到最接近的整數(shù)。
這個(gè)公式先利用=INT(A1/100)得到百位以上的數(shù)據(jù):
再把這個(gè)結(jié)果放大一百倍,得到需要的結(jié)果,其原理還是玩的數(shù)字計(jì)算。
對比MOD與INT兩個(gè)公式,感覺MOD這個(gè)更加簡短一些,于是有函數(shù)高手對INT這個(gè)公式進(jìn)行了整形:=INT(A1%)/1%
兩個(gè)百分號的出現(xiàn),讓公式變得難以理解,其實(shí)百分號是函數(shù)高手使用頻率非常高的一個(gè)符號,說的通俗點(diǎn),%的在公式中的作用相當(dāng)于/100:
通過這個(gè)例子可以直觀的看到%的作用,一個(gè)字符(%)就可以完成四個(gè)字符(/100)的功能,在化簡公式的時(shí)候,經(jīng)??梢钥吹桨俜痔柕挠白樱硪环矫媸褂?的公式也代表了函數(shù)高手的出現(xiàn)。
一個(gè)問題,七個(gè)解法,群友們說什么的都有,大部分觀點(diǎn)都是覺得學(xué)習(xí)函數(shù)很有意思,同時(shí)也表露出自己數(shù)學(xué)功底不夠扎實(shí),對于個(gè)別公式還需要再消化消化,尤其是按倍數(shù)舍入的兩個(gè)公式以及余數(shù)和取整兩個(gè)公式的思路,真的太巧妙了。當(dāng)然,最后的百分號也是讓大家驚嘆不已,對自己將來也能成為函數(shù)高手充滿了期待……
“誰說這個(gè)問題只能用數(shù)學(xué)方法的,用引用函數(shù)照樣可以!”
此公式一發(fā),眾人皆無語……
連號稱引用函數(shù)之王的LOOKUP都用上了,大神們,寶寶看不懂啊……
一個(gè)原本是四舍五入的問題,由于LOOKUP的出現(xiàn),徹底變了味了,成了函數(shù)高手之間的對決,一向被LOOKUP壓著一頭的INDEX也忍不住出招了:
這場引用函數(shù)之間的對決真的是難分上下,精彩萬分,不得不說一個(gè)四舍五入的問題竟然連LOOKUP都用上了,你們也太會玩了……
通過今天這個(gè)看似簡單的問題,我們分別認(rèn)識到了:ROUND、ROUNDDOWN、ROUNDUP、FLOOR、CEILING、MOD、INT、%、LOOKUP和INDEX這些函數(shù),除了最后兩個(gè)引用函數(shù)LOOKUP和INDEX之外,都做了簡單的分析,關(guān)于最后這兩個(gè)公式,涉及到的知識點(diǎn)非常多,并且思路非常奇特,未做解釋,有興趣的話可以留言再單獨(dú)解釋這兩個(gè)公式。
其實(shí)學(xué)習(xí)公式函數(shù),如果僅僅抱著解決問題的目的,可能最終只能略有小成,只有體會到了其中的樂趣,真的愛上這些函數(shù),才是走向高手之路的起點(diǎn)!
****部落窩教育-Excel四舍五入****
原創(chuàng):老菜鳥/部落窩教育(未經(jīng)同意,請勿轉(zhuǎn)載)
聯(lián)系客服