2016-12-08 106 views
0

= IF(J4> = 20,A,IF(J4)> => 12,B,IF(J4 < 14 AND J4> 8,C,IF(J4 < 8,D, 0))))Excel嵌套的IF語句故障

數值=分數 數值A - D是一個評分系統,根據他們的分數對一個人進行評分並給他們一個來自AD的值。

我一直堅持這個公式很長一段時間,不知道我做錯了什麼,所有的幫助將是令人滿意的!

+0

您需要字符串的引號。 – z32a7ul

+0

在檢查J4> = 20之後,您不需要再次檢查J4 <20,因爲您已經在else分支中 – z32a7ul

+0

以前,我在表格的單元格中引用了字母,但是我在將它們作爲字符串詢問時幫助閱讀帖子的人理解這個問題。 –

回答

0

您可以考慮更新您的陳述如下。

=IF(J4<8,"D",IF(J4<14,"C",IF(J4<20,"B","A"))) 

你可以看到,它在一個方向移動是在這種情況下,重要的是,無論是低到高,或從高到低。這允許我們在測試返回TRUE時返回結果,因爲我們知道以前的測試返回FALSE。

+0

謝謝大家! –

+0

@JoshuaBrown最好的答謝方式就是接受答案:) –

0

試試這個:

=IF(J4 >= 20, "A", IF(J4 > 13, "B", IF(J4 > 8, "C", "D")))

0

這裏有一個公式:

=IF(20<=J4,"A",IF(13<=J4,"B",IF(8<=J4,"C",IF(J4<8,"D",0)))) 
0

我認爲你正在使用的和函數的語法是錯誤的。您需要在AND功能中嵌套要使用的所有參數。像這樣:

=IF(AND(J4<20,J4>8),"true","false") 
0

另一個apporach假設在J4可能的輸入都是整數,低於1000:

=IFERROR(INDEX({"A";"B";"C";"D"},MATCH(J4,{1000;19;12;7},-1)),0) 

我覺得這是一個更容易閱讀和維護。