Excel也會算錯數?
在Excel裡計算(4.1-4.2) 1=?如果現在打開了電腦的小夥伴,可以馬上試一試,或許你會說:結果沒錯呀,等于0.9
其實,你被Excel欺騙了,馬上設置保留15位小數,讓結果現出原形吧。
是不是驚呆了,聰明絕頂的Excel竟然連這麼簡單的計算題都不會?
其實,存在無數種簡單的算式,Excel都是算不出來的。别說算式,有些數據在Excel裡面簡直是無法輸入。
不信?你試一下在單元格裡輸入65535.848,再設置單元格讓它現出真身,竟然是65535.8479999999
在Excel裡面計算(4.1-4.2) 1=?,答案竟然是0.899999999999999
原因分析其實,在計算機裡,這樣的例子是很常見的,分析原因有二
一類是“四舍五入”造成的
Exce中顯示的數字與實際小數位數不一緻,就會出現下圖這樣的低級錯誤
上圖中,數據是以默認的保留2位小數顯示,如果設置保留3位小數,原因就原形畢露了
第二類是由“浮點運算”造成的
什麼是“浮點運算”呢?其實大學的時候高等數學和計算機原理裡面是講過的,不過毫無疑問,自習君把知識還給老師了
簡單而言,因為計算機采用的是二進制,有時候,二進制無法準确地表達十進制的數,是無窮的數,而計算機隻儲存有限的位數,從而産生了誤差。
這類似于1/3 在十進制下無法得到準确表示(循環小數 0.3333333333……),若要顯示成小數就隻能顯示最接近的3.33,從而産生了0.0033……的誤差。
三種方法解決問題要使Excel自動求和結果與手工計算結果一緻,我們就必須要保證:Excel顯示的數值就是實際數值。如何來保證呢?自習君教大家3種辦法:
1、 用函數round進行四舍五入
舉例:如在A1單元格輸入3.1415,我們在B1輸入公式=ROUND(A1,2),則顯示為3.14;若輸入=ROUND(A1,3) ,則顯示為3.142
使用該函數後單元格顯示的數據就是真實的數據,再運算,就不會出現電腦與手工結果不一緻的情況
2、 将單元格複制到記事本(txt),再複制回excel即可(推薦使用)
因為記事本所見既是真實内容,固可達到函數round的效果
3、 在Excel選項中設置 “以顯示精度為準”
此選項會強制将工作表中每個數字的值成為顯示的值。
此選項影響該工作簿的所有工作表,會造成原始數據的丢失且無法恢複,一般不建議使用或使用前備份原始數據。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!