看板 Office 關於我們 聯絡資訊
軟體: Excel 版本:365 利用IF進行數值的判斷,數值比較大的到時候就會顯示錯誤,如同下面兩張圖。 當利用500.1-500 會顯示Fail但是利用200.1-200時又會顯示pass,請問要怎麼解決這個問題 呢? https://i.imgur.com/Zjze3vs.jpg
https://i.imgur.com/bO98htR.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 110.26.229.250 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1653563878.A.C59.html
kinomon: B1的500.10是否為顯示進位後的結果? 05/26 19:52
kinomon: 或A1是否為顯示捨去後的結果 即C1真的是0.1嗎? 05/26 19:54
hnjm8596: k大 因為500和500.1是自己手動輸入上去的,所以應該不 05/26 19:58
hnjm8596: 是顯示進位的問題。 05/26 19:58
kinomon: 噢 是<=的關係 05/26 20:38
kinomon: 不對 我搞錯 05/26 20:40
kinomon: 應該是excel計算精度的關係 05/26 20:42
kinomon: 你可以用round函數捨去浮點數 05/26 20:46
newacc: 猜浮點誤差,用ROUND試試看 05/26 21:20
suaveness: 同上,這是 Numeric precision 的問題,某種程度上算是 05/26 21:20
suaveness: Excel 的一個 bug,請用 round 處理掉 05/26 21:21
suaveness: 你可以用評估公式,應該會看到兩個值實際上都不是 0.1 05/26 21:23
mddc62: 不只是excel 很多資料庫都有類似問題 05/26 23:34
suaveness: 畢竟是國際標準,基本上都會有這個問題 05/27 00:03
hnjm8596: 了解,感謝以上各位的回答! 05/27 06:35
hnjm8596: 自己回答一下,利用各位的回答當作關鍵字找到了微軟自 05/27 12:44
hnjm8596: 己提出的兩個解決方法,一個是Round,一個是調整活頁簿 05/27 12:44
hnjm8596: 設定,詳情可以看 https://bit.ly/3MOQYCa 05/27 12:44