Excel用同樣的公式運算時,有的結果正確,有的結果卻會出現誤差,這應如何做,才能改正這個Bug呢?

匿名
2017-09-20T09:37:28+00:00

敝人的 Excel (2016家用版)發現有個嚴重的問題,我用最簡單的四則運算,其結果卻有的錯誤,有的又是正確的,如我下面拷貝出來的例子。

我應該要怎樣做才能改正這個 Bug 呢?

67.7 =B3-E3 =C3/E3 67.5
67.7 0.200000000000003 0.002962962962963 67.5
37.25 =B6-E6 =C6/E6 36.2
37.25 1.05 0.0290055248618784 36.2

請求施以援手,不勝感激!

Albert

Microsoft 365 和 Office | Excel | 家用版 | Windows

鎖定的問題。 此問題已從 Microsoft 支援服務社群移轉。 您可以對其是否有幫助進行投票,但無法對問題新增註解或回覆,或進行追蹤。

0 則留言 沒有留言

由問題作者接受的回答

匿名
2017-09-22T06:01:07+00:00

Hi Albert,

請問您是否有嘗試設定過B3-E3所在的存儲格格式呢?

設定為【數值】格式,還是會出現這種問題嗎?

每次輸入這個67.7-67.5都會出現這種結果嗎?

請問您現在使用的是Office什麼版本呢?打開excel——檔案——帳戶——關於Excel——就可以看到您的版本資訊了。

希望以上資訊可以幫助您!

此回答有幫助嗎?

0 則留言 沒有留言

13 個其他答案

排序依據: 最實用
  1. 匿名
    2017-09-21T01:40:34+00:00

    您好,

    感謝您的熱心回覆!

    此回答有幫助嗎?

    0 則留言 沒有留言
  2. 匿名
    2017-09-20T17:34:38+00:00

    拿起電算機,

    1/3=

    *3=

    0.9999999

    1/5=

    *5=

    1

    為啥除三乘三後不為1 ?因為計算誤差。

    IEEE 754 是一個規範,規定數值如何存入電腦,包含了 Windows / Linux (Android 及 iOS) ,因此所有軟體計算結果都會相同。

    電腦在存放有小數點的數字時,是以二分法逼近,所以 0.2000000000000003 這個就是誤差,簡單點你可以當成計算誤差。

    為了讓你覺得不是在唬爛你,你可以參考維基百科:

    https://zh.wikipedia.org/wiki/IEEE_754

    從維基百科看到,這是國際規範。看不懂沒關係,這表示計算機概論不該在一開始就講這個,我也是等摸電腦好幾年後才回頭看懂這段,雖然他被當成常識,但很多人都不知道。既然是常識,這表示這是功能限制,不是 bug 。

    Excel 是試算表,不是純數學軟體,純數學軟體有大數運算功能專門算解析解,但是純數學軟體很貴,也沒有試算表功能讓你拉來拉去。

    如果是幣別,例如說美金取到小數點下兩位,通常會在公式就配合 Round 函數在小數點下兩位做四捨五入,捨去計算誤差。

    有特定用途,可以拿出來講,大家討論看看能怎樣改善。

    另外你把簽名檔當回文看了。

    論壇有簽名檔是常識,但是微軟改版後,簽名檔跟本文混在一起,造成辨識度下降,看錯不是你的問題,是微軟論版改版造成的。

    此回答有幫助嗎?

    0 則留言 沒有留言
  3. 匿名
    2017-09-20T17:17:29+00:00

    對不起,那篇IEEE 754 浮點數規範的原理的文章對我而言有點艱深。

    我只是在想,很簡單的兩個數(十位數加小數點後兩位數)相減,怎麼也不可能會減出多餘小數點兩位以後的數字。如果連這麼簡單四則運算,都要用Round函數來消除小學生都不會犯的錯誤,那這個電腦我真不知道,對稍微複雜的運算,會不會也產生我們無法察覺的重大錯誤了。

    我舉的例子就是:67.7-67.5應該等於 0.2,而不應該是 0.200000000000003。

    而偏偏 37.25-36.2=1.05,這個在同一張工作表又用同樣的公式,所得的結果則是正確的。

    我很疑惑,怎麼同樣的公式,有時結果正確,有時又是錯誤的呢?

    前面貼的,是將工作表用"顯示公式"以後拷貝的。

    對於表達得不清楚,我很抱歉,因為初初參加這個論壇,對於問題的適切表達,我可能還要多多學習。

    您可否用簡單一點的方法來指導我呢?

    感謝

    Albert

    此回答有幫助嗎?

    0 則留言 沒有留言
  4. 匿名
    2017-09-20T11:26:16+00:00

    計算機概論第二章會教關於 IEEE 754 浮點數規範的原理,這是全電腦都試用的問題。

    https://support.microsoft.com/zh-tw/help/78113/floating-point-arithmetic-may-give-inaccurate-results-in-excel

    如果有明確位數,可以配合 Round 函數。

    此回答有幫助嗎?

    0 則留言 沒有留言