if函式出錯問題,if函式為什麼算的不對?條件是對的,但是結果是錯的。 怎麼回事

2022-11-04 16:56:48 字數 2363 閱讀 8092

1樓:

excel在浮點運算中會有誤差。

如果要精確計算,可以把公式=15-14.7改為:

=round(15-14.7,2),就可以避免誤差了。

以下是微軟官方的解釋:

microsoft excel 是按照與儲存和計算浮點數有關的 ieee 754 規範設計的。ieee 的全稱是 institute of electrical and electronics engineers(電氣和電子工程師協會),此國際機構確定計算機軟硬體的標準和其他許多標準。754 規範是乙個廣泛採用的規範,它描述了在二進位制計算機中應如何儲存浮點數。

它之所以得到廣泛採用,原因是它允許在合理的空間量中儲存浮點數,以及相對快速地進行計算。如今,大多數執行浮點運算的基於 pc 的微處理器(包括 intel、motorola、sun 和 mips 處理器)在浮點單元和數值資料處理器中均採用 754 標準。

在儲存數字時,對應的二進位制數字可以表示每乙個數字或分數。例如,分數 1/10 在十進位制中可以表示為 0.1。但是,二進位制格式的相同數字將變為重複二進位制小數

0001100110011100110011(等類似數字)並且可以無限重複。此數字無法用有限的空間量來表示。因此,此數字在儲存時向下捨入大約 -2.8e-17。

2樓:匿名使用者

這是文字了,不是數值了

3樓:思雪遙遙

得看你具體**,我估計你舉這個例子應當不會出錯。

樓上不明白就別亂貼東西,浪費資源!

4樓:匿名使用者

shxuzy 的回答是正確的

excel的if函式及and函式在**出錯了

5樓:月夜清泉

公式巢狀超過7層,在excel2003或wps**預設的.et(或.xls)格式中,是無法支援的。

必須是在excel2007的.xlsx格式文件中,才能使用超過7層的函式巢狀。

建議將條件列出來,讓人幫你用其他公式,或改一下公式結構。

按第三個公式,可以改為:

=if(and(s110>0,x110>0),if(x110<=2.5,lookup(af110,,),if(x110<=5,lookup(af110,,),0)),0)

6樓:眯住眼串針

這種線性資料用lookup函式比if方便簡捷

7樓:沫沫晗情

if 巢狀的太多了吧。換其他方法吧。

關於excel的max巢狀if函式出錯的原因

8樓:匿名使用者

這是陣列公式,在輸入公式:

=max(if((c2<=a1:a19)*(d2>=a1:a19),b1:b19))

按ctrl+shift+enter(三鍵同時按)結束公式輸入。

為什麼excel使用if函式一直顯示錯誤

9樓:匿名使用者

=if(d2>90,"好","")

好是字串應該引號引起。「」表示什麼也不顯示。

if語句的格式和作用是:

=if(單元格滿足條件,條件滿足時的內容,條件不滿足時的內容)多件:=if(d1>=80,if(d1>90,"好","合格"),"不合格")

10樓:平陽虎

好字上應該用英文雙引號"好"

if函式為什麼算的不對?條件是對的,但是結果是錯的。 怎麼回事

11樓:s今生緣

excel中顯示的數值並不一定是真實值,而是四捨五入後的顯示值,所以常常會出現看到數值相同,但事實上並不相同的情況。尤其是小數運算還存在浮點誤差,兩個相同的小數相減,其結果並一定是0,有可能存在很小的浮點誤差。

解決此問題的方法,一是中間計算過程用round函式保留小數字數,二是直接判斷是否相等,不要用相減等於0的方法:=if(a6=a5,"正確","不正確")

12樓:匿名使用者

好像應該是a7=if(a6-a5==0,"正確","不正確")

13樓:匿名使用者

a6-a5==0,乙個等號是賦值

14樓:匿名使用者

a6-a5=0 改為a6-a5==0

15樓:

a7=if(a6-a5=0 ?"正確":"不正確")

excel為什麼if函式顯示錯誤?

16樓:苗喬恩

e2正確的是:and(e2另外,最後乙個if判斷,否無結果。

51微控制器c語言定義函式出錯望各位大神指教

1 函式沒有自 申明就使用了bai。2 函式呼叫,du不能省略括號。zhi3 for迴圈的 表示式 dao1 表示式2 表示式3 表示式4 中表示式2 為 表示式4是否執行的判讀依據,應該使用 邏輯判斷運算子 不該使用 賦值符 51微控制器 c語言裡 nop 函式怎麼用 具體一點 求高手指教 1 c...

python函式的問題python函式問題?

當n 0時,才終止while迴圈。輸入 5,2 while 2 0,條件成立,進入運算,n 2 執行過程為,n 2 1,s s 1 x 5 執行結束後,n 1 0,s 5,while迴圈成立,進入下乙個迴圈 n 1 執行過程為,n 1 1,s s 5 x 5 執行結束後,n 1 1 0,s 25,w...

linux輸出函式問題,linux 輸出函式問題

測試了一下,三個程序都會收到sigint訊號。原程式中,child1,child2都收到sigint訊號,呼叫stop 之後被喚醒,列印 child process is killed by parent 事實上kill這兩個child的不是parent,是它們自己的sigint。放到 處,chil...