截取小數(shù)位數(shù)的函數(shù) excel中的公式、數(shù)字都對(duì),但小數(shù)點(diǎn)后幾位對(duì)不上,為什么?
excel中的公式、數(shù)字都對(duì),但小數(shù)點(diǎn)后幾位對(duì)不上,為什么?EXCEL中的小數(shù)精度的問題還是蠻讓人困擾的,尤其是財(cái)務(wù)人員,一分錢都不能差,否則就借貸不平。最典型的場(chǎng)景是做造工資表,做憑證,明明都對(duì)上了
excel中的公式、數(shù)字都對(duì),但小數(shù)點(diǎn)后幾位對(duì)不上,為什么?
EXCEL中的小數(shù)精度的問題還是蠻讓人困擾的,尤其是財(cái)務(wù)人員,一分錢都不能差,否則就借貸不平。最典型的場(chǎng)景是做造工資表,做憑證,明明都對(duì)上了,可就是有差異。
納尼?這到底是什么情況?還讓不讓人愉快地玩耍了?
(圖片來(lái)源網(wǎng)絡(luò))
這背后涉及Excel顯示和計(jì)算的邏輯,理解了就很好解決。
首先EXCEL顯示是按照單元格設(shè)置的格式來(lái)的,所看到的數(shù)字并不是excel真正存儲(chǔ)的數(shù)據(jù)。比如,在單元格B1輸入1.3322,如果顯示格式里設(shè)置的是顯示兩位小數(shù),則在excel看到的就是1.33,1.33這個(gè)數(shù)字是1.3322按照四舍五入保留2位小數(shù)后的結(jié)果。
但是,excel在進(jìn)行單元格計(jì)算時(shí),卻是基于excel真正存儲(chǔ)的數(shù)據(jù)計(jì)算,比如還有一個(gè)單元格B2輸入了1.3344,單元格格式也是顯示2位,現(xiàn)在B3=B1 B2,如果B3單元格格式也是顯示2位,你覺得應(yīng)該是顯示多少呢?
如果你去Excel驗(yàn)證就知道,B3顯示的是2.67,因?yàn)樗窍扔?jì)算B3=1.3322 1.3344 = 3.6666,然后再進(jìn)行四舍五入,變成了2.67,而不是 1.33 1.33 = 2.66。
這就是困擾很多財(cái)務(wù)人員問題,為什么合計(jì)就和明細(xì)對(duì)不上了。
怎么解決呢?有兩種辦法。
1、讓excel在顯示時(shí)強(qiáng)制調(diào)整精度。在 excel選項(xiàng) — 高級(jí) — 計(jì)算此工作薄時(shí),勾選【將精度設(shè)為所顯示的精度】。
這樣excel計(jì)算時(shí),會(huì)忽略實(shí)際精度,按照顯示的數(shù)據(jù)進(jìn)行計(jì)算,前面的示例,B3單元格的數(shù)據(jù)就變成了2.66。
2、通過(guò)函數(shù)進(jìn)行轉(zhuǎn)換。常用的是Round 函數(shù),進(jìn)行四舍五入,Round(A3,2),第一個(gè)參數(shù)是需要四舍五入的數(shù)值,第二個(gè)參數(shù)是小數(shù)位數(shù)。與之類似的函數(shù)還有 向上取值RoundUp,向下取值RoundDown,取整Int。
第一種方式很簡(jiǎn)單很暴力,但會(huì)影響整個(gè)excel中的數(shù)據(jù),并不是所有場(chǎng)景下都適應(yīng)。第二種方式要復(fù)雜一些,但勝在靈活,從財(cái)務(wù)角度,更多是在用第二種方式,因?yàn)樨?cái)務(wù)本就比較嚴(yán)謹(jǐn)要求數(shù)據(jù)非常精確。