一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

震驚!Excel也會(huì)騙人,數(shù)值精度及位數(shù)取舍函數(shù)全解析

 爺↘傷憾 2017-04-04

本文是專門(mén)為新書(shū)打造的「拓展閱讀系列」之一,我們希望做到實(shí)體書(shū)與線上學(xué)習(xí)的有效結(jié)合,通過(guò)二維碼打通實(shí)體書(shū)與線上資源,構(gòu)建全面的Excel知識(shí)體系。


這天,雷哥找到星爺訴苦,因?yàn)樗龅搅艘粋€(gè)無(wú)比棘手的問(wèn)題:使用Excel做最簡(jiǎn)單的求和計(jì)算時(shí),得出的結(jié)果總是不對(duì),每次都是錯(cuò)0.01的樣子,如下圖所示。


圖1:簡(jiǎn)單的加法運(yùn)算

其實(shí)Excel具有15位有效數(shù)字的計(jì)算精度,對(duì)于上圖中的兩位小數(shù)來(lái)說(shuō),應(yīng)該手到擒來(lái)才對(duì),出現(xiàn)這樣的錯(cuò)誤確實(shí)讓人奇怪。


這個(gè)問(wèn)題要分兩種情況討論。

情況1:浮點(diǎn)運(yùn)算誤差,這種情況確實(shí)是Excel的責(zé)任,我們應(yīng)該討伐Excel;

情況2:是我們使用Excel的姿勢(shì)不對(duì)導(dǎo)致的錯(cuò)誤,我們應(yīng)該自我檢討。


Part 1

浮點(diǎn)運(yùn)算誤差


浮點(diǎn)運(yùn)算誤差通常出現(xiàn)在使用小數(shù)運(yùn)算,或運(yùn)算過(guò)程中包含小數(shù)的情況中,在減法和除法中比較多見(jiàn),這算誤差的出現(xiàn)是隨機(jī)的,并不一定總能碰到。但是,以目前的科技,這種誤差總是可觀存在的。


1-1 出現(xiàn)的原因:

由于計(jì)算機(jī)內(nèi)部以二進(jìn)制保存,所以十進(jìn)制的有限位的小數(shù),在計(jì)算機(jī)內(nèi)部會(huì)是一個(gè)無(wú)限位的小數(shù)。

例如:十進(jìn)制的0.9雖然只有一位小數(shù),轉(zhuǎn)成2進(jìn)制是無(wú)限循環(huán)小數(shù)0.1110011001100110011...

軟件保存浮點(diǎn)數(shù)的精度有限,Excel可以保存15位有效數(shù)字,有效數(shù)字以后的就被忽略了。


1-2 浮點(diǎn)運(yùn)算案例

如下圖所示,在C3單元格中寫(xiě)入簡(jiǎn)單的計(jì)算=5.1-5.2+1,計(jì)算結(jié)果毫無(wú)爭(zhēng)議應(yīng)該是0.9,但是如果設(shè)置足夠多的小數(shù)位數(shù),會(huì)發(fā)現(xiàn)Excel的計(jì)算結(jié)果并不等于0.9。


本案例來(lái)自:《Excel這么用就對(duì)了》

這雖是一個(gè)很小的誤差,但是它畢竟不等于真實(shí)的數(shù)值。如果出現(xiàn)在工程中,甚至可能造成重大的安全事故。


1-3 解決方法

Excel 提供了多種函數(shù)來(lái)彌補(bǔ)舍入誤差,通常使用ROUND 函數(shù)強(qiáng)制四舍五入即可。

如圖所示,使用ROUND函數(shù)矯正誤差。



Part 2

人為誤差


從前文可以看到,浮點(diǎn)運(yùn)算產(chǎn)生的誤差非常小,而且不是隨機(jī)出現(xiàn),像圖1中出現(xiàn)0.01這么大的誤差,通常不是浮點(diǎn)運(yùn)算造成的,而是我們被Excel欺騙了。


2-1 出現(xiàn)的原因:

通常是在實(shí)際的使用過(guò)程中,為了顯示上的需要,對(duì)單元格數(shù)值進(jìn)行了格式設(shè)置,使其只顯示一部分小數(shù)位數(shù)。

比如:?jiǎn)卧裰械臄?shù)值是49.995,在【設(shè)置單元格格式】→【數(shù)字】→【數(shù)值】中設(shè)置小數(shù)位數(shù)為2位。

 

設(shè)置小數(shù)位數(shù)為2位


但是,使用自定義格式只是改變了數(shù)據(jù)的顯示式樣,數(shù)據(jù)本身并沒(méi)有發(fā)生變化,這就是導(dǎo)致表面上看起來(lái)的數(shù)值與實(shí)際數(shù)值不一致的原因。


知道了這個(gè)細(xì)節(jié),再來(lái)看一下雷哥出錯(cuò)的數(shù)據(jù),立刻就能找到錯(cuò)誤的根源的。當(dāng)我們鼠標(biāo)點(diǎn)到A1單元格時(shí),發(fā)現(xiàn)在單元格中顯示的數(shù)據(jù)是50.00,但是在編輯欄中,實(shí)際的數(shù)值卻是49.995。

 


當(dāng)我們鼠標(biāo)點(diǎn)到A2單元格時(shí),發(fā)現(xiàn)在單元格中顯示的數(shù)據(jù)是149.99,但是在編輯欄中,實(shí)際的數(shù)值卻是149.985。

 


也就是說(shuō),因?yàn)閷?duì)數(shù)值進(jìn)行了格式設(shè)置,只能顯示小數(shù)點(diǎn)后兩位,所以原來(lái)三位小數(shù)被“四舍五入”為兩位小數(shù),注意,這個(gè)四舍五入是假的,只是表面的四舍五入。


如果是“五入”,那么顯示的數(shù)值就比實(shí)際數(shù)值大;如果是“四舍”,那么顯示的數(shù)值就比實(shí)際數(shù)值小。雷哥的兩個(gè)數(shù)值恰好都是“五入”,所以導(dǎo)致顯示的兩個(gè)數(shù)值的和就比實(shí)際數(shù)值的和大了0.01。


2-2 解決方法

方法 1:以顯示精度為準(zhǔn)

??!事先聲明:此方法要慎重使用!!

因?yàn)閱?wèn)題出在“顯示的數(shù)值”和“Excel實(shí)際認(rèn)為的數(shù)值”不一致,因此可以設(shè)置Excel“以顯示精度為準(zhǔn)”選項(xiàng)來(lái)防止四舍五入錯(cuò)誤。


如下圖,在【選項(xiàng)】→【高級(jí)】→【計(jì)算此工作簿時(shí)】中勾選“將精度設(shè)為所顯示的精度”,此選項(xiàng)會(huì)強(qiáng)制將工作表中每個(gè)數(shù)字的值成為顯示的值。



設(shè)置之后,如果在“設(shè)置單元格格式中”選擇顯示兩位小數(shù)的數(shù)字格式,則在保存工作簿時(shí),所有超出兩位小數(shù)的精度均將會(huì)丟失。


?。?!注意:此選項(xiàng)將影響整個(gè)工作簿,而且無(wú)法撤消此選項(xiàng)和恢復(fù)丟失的數(shù)據(jù),因此屬于暴力、強(qiáng)制性的舍去位數(shù),建議在啟用此選項(xiàng)之前先備份工作簿。


方法 2:四舍五入函數(shù)進(jìn)行位數(shù)取舍

還可以使用四舍五入函數(shù)對(duì)數(shù)值進(jìn)行“正確的四舍五入”,此類型的函數(shù)較多,放在第三部分詳細(xì)講解。


Part 3

數(shù)值位數(shù)取舍函數(shù)


使用函數(shù)進(jìn)行數(shù)值位數(shù)取舍不僅改變了數(shù)據(jù)的顯示式樣,同時(shí)也改變了數(shù)據(jù)本身。根據(jù)位數(shù)取舍函數(shù)的作用不同,可以分為三類。


3-1 簡(jiǎn)單粗暴的取整

取整最常使用的就是INT函數(shù)。

INT函數(shù)是將數(shù)值向下取整為最接近的整數(shù)。


因?yàn)镮NT函數(shù)是向下取整,所以會(huì)返回比原始數(shù)據(jù)小但最接近的數(shù)值。


3-2 按部就班的四舍五入

另一類對(duì)函數(shù)位數(shù)取舍的方法是四舍五入,這樣取舍的方式,在很大程度上也是能滿足精度要求的,相比直接舍去小數(shù)部分的取整,四舍五入的方式更接近真實(shí)情況。


能夠?qū)崿F(xiàn)四舍五入的函數(shù),以ROUND為基礎(chǔ),總共可以延伸出三個(gè)不同的類型的函數(shù)。

 

1)ROUND函數(shù)對(duì)數(shù)值四舍五入


ROUND函數(shù)是取舍函數(shù)中使用率最高的函數(shù)之一,使用它可以方便地對(duì)數(shù)值進(jìn)真正數(shù)學(xué)意義上的四舍五入。通常用在嵌套中,在計(jì)算過(guò)程中,對(duì)數(shù)值取舍為想要的精度。

 

  • ROUND函數(shù)語(yǔ)法:

=ROUND (number, digits)  

①Number:要取舍的數(shù)值  ②Digits:要保留的小數(shù)位數(shù)

 

  • 參數(shù)二有三種不同的設(shè)置

 

注:如果round函數(shù)只有參數(shù)number,等同于digits 等于 0。

 

ROUND函數(shù)使用案例:


 

參數(shù)二大于等于0的情況,比較容易理解。下面詳細(xì)講解小于零的情況:

 

-1,就是將6.231四舍五入為最接近的 10 的倍數(shù)

-2,就是將50.35四舍五入到最接近的100的倍數(shù)

……


2)ROUNDUP對(duì)數(shù)值進(jìn)行向上取舍


對(duì)數(shù)值進(jìn)行取舍時(shí),有時(shí)我們需要直接向上取舍,即無(wú)論要舍去的數(shù)是幾,都要向前一位進(jìn)1,這時(shí)可以使用ROUNDUP函數(shù),如圖所示。

 


3) ROUNDDOWN對(duì)數(shù)值進(jìn)行向下取舍

與ROUNDUP函數(shù)相反,不管要舍去的數(shù)是幾,如果想將它們直接舍去而無(wú)需向前一位進(jìn)1,可以使用ROUNDDOWN函數(shù),如圖所示。

 

 

3-3 靈活多變的截位


截位指的是,直接將小數(shù)部分的某一位或多位直接舍掉,而不進(jìn)行任何進(jìn)位。


TRUNC函數(shù)能夠?qū)崿F(xiàn)這一功能,它的作用是直接將數(shù)字的小數(shù)部分多余位數(shù)截去,保留指定的位數(shù)。

 

TRUNC函數(shù)語(yǔ)法:

TRUNC(number,num_digits)

①number:要舍位的數(shù)值;②num_digits:保留的小數(shù)位數(shù)

  

 

經(jīng)過(guò)TRUNC計(jì)算之后,無(wú)論小數(shù)有幾位,都被截為指定的位數(shù),并且沒(méi)有進(jìn)行四舍五入,完全直接舍去。


可以看出,當(dāng)TRUNC的第二個(gè)參數(shù)為0時(shí),TRUNC函數(shù)同樣可以保留數(shù)值的整數(shù)部分,但是TRUNC在進(jìn)行取舍時(shí),不考慮數(shù)值的正負(fù),直接舍掉小數(shù)部分,只保留整數(shù)。


這種情況下,TRUNC和INT函數(shù)的區(qū)別如下表。



掌握了這些技能,還會(huì)被Excel欺騙么?


End.


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    尹人大香蕉中文在线播放| 二区久久久国产av色| 欧美日韩一区二区午夜| 国产成人免费高潮激情电| 国产一区二区三区av在线| 日本不卡在线视频你懂的| 91久久精品国产成人| 国产又粗又猛又大爽又黄同志| 国产肥女老熟女激情视频一区| 欧美午夜国产在线观看| 正在播放玩弄漂亮少妇高潮| 国产一区日韩二区欧美| 欧美精品中文字幕亚洲| 亚洲精品熟女国产多毛| 国产成人精品综合久久久看| 亚洲精品美女三级完整版视频| 亚洲中文在线中文字幕91| 国产情侣激情在线对白| 草草视频精品在线观看| 日本不卡片一区二区三区| 91欧美一区二区三区| 高潮日韩福利在线观看| 加勒比东京热拍拍一区二区| 91精品国产av一区二区| 熟妇人妻av中文字幕老熟妇| 亚洲五月婷婷中文字幕| 美女黄色三级深夜福利| 午夜福利精品视频视频| 日韩1区二区三区麻豆| 欧美日韩在线观看自拍| 欧美丰满大屁股一区二区三区| 九九热精彩视频在线免费| 国产熟女一区二区不卡| 日韩免费成人福利在线| 在线免费不卡亚洲国产| 午夜久久精品福利视频| 偷拍美女洗澡免费视频| 国产精品久久精品国产| 日韩成人高清免费在线| 国产av一区二区三区久久不卡 | 日韩中文字幕人妻精品|