EXCEL計算結果都是0.2,為什麼用 IF 函數判斷返回的結果不一樣?
Excel 編輯的if函數,計算結果都是0.2,但輸出結果不一樣。
謝邀。
對於題主的問題,火箭君親自做了實驗,發現情況跟題主反映的一模一樣,圖如下:
而且我們取出了差值,看似差0.2的地方其實差0.199999……
這應該是一個經典的「浮點數」誤差問題,只是沒想到Excel裡面也有(也有這麼明顯)。
微軟有官方的解釋,很長。總之,一堆理由,我們就是按標準這麼設計的。
所以,我們直接上結論:
(1)影響範圍,浮點數問題誤差 影響這些版本的 OfficeExcel2010,Excel2013 ,Excel Office 365,Excel for Mac 2011 ,Excel for Mac Office 365
(2)解決方法,微軟建議,對於高精度要求的請指明位數範圍,採用ROUND函數
也就是在「 =IF((B2-A2)&>=0.2,"支持"," 不支持")」函數中添加公式,如下:
=IF(ROUND(B2-A2,5)&>=0.2," 支持","不支持 ")即可。 (例如精確到5位)
微軟官方詳細的解釋在這裡:
鏈接: https://support.microsoft.com/en-us/help/78113/floating-point-arithmetic-may-give-inaccurate-results-in-excel
如果你覺得火箭君的回答有幫助就請關注我們吧 ~~
微信公眾號:效率火箭( ID:xlrocket )
我們的口號是:高效搞定事情,盡情享受生活。
life hacker 類的相關問題也可以找火箭君幫忙哦!
謝邀
很正常!
Excel有時候就是做不了簡單的算術。
不要奇怪,也不要莫名驚詫,Excel就是這麼任性。
還有更奇怪的,Excel連你手工輸入的數字都會弄錯。
不信?
你在單元格輸入39524.848、55556.848、65535.848看看會變成什麼。
想知道這到底有什麼不為人知的秘密,請移步到下面的回答,讓龍逸凡為人揭曉那些CCAV式的真相:
excel計算結果莫名多出很多位小數,據說是浮點誤差? - 龍逸凡的回答 - 知乎
你的問題的真相在此!
推薦閱讀:
※Excel公式怎麼入門啊?
※你覺得特有用的excel 公式或技巧是什麼?
※excel中如何在一列的數據中過濾掉,另一列的數據?
※excel公式測算IRR,當各個期間現金凈流量合計為-7000多萬時,公式顯示#NUM!,如何設置可以得出內部收益率?
※如何在 Excel 中快速將多列數據合併到一列(例圖見問題補充)?
TAG:Excel公式 |