2017-05-02 95 views
-1

我是一名學校老師,正在發展我的學校的評估系統。我該怎麼做才能糾正這個公式?如何調試我的複雜IF Excel公式?

=IF(H3="SUR",IF(Subject!C3<2.7,"Not on track",IF(Subject!C3<=3.29,"On track",IF(Subject!C3>=3.3,"Above", IF(H3="MAS",IF(Subject!C3<2.2,"Not on track",IF(Subject!C3<=2.79,"On track",IF(Subject!C3>=2.8,"Above", IF(H3="EXP",IF(Subject!C3<1.7,"Not on track",IF(Subject!C3<=2.29,"On track",IF(Subject!C3>=2.3,"Above",IF(H3="EM3",IF(Subject!C3<1.2,"Not on track",IF(Subject!C3<=1.79,"On track",IF(Subject!C3>=1.8,"Above", IF(H3="EM2",IF(Subject!C3<0.7,"Not on track",IF(Subject!C3<=1.29,"On track",IF(Subject!C3>=1.3,"Above",IF(H3="EM1",IF(Subject!C3<0.23,"Not on track",IF(Subject!C3<=0.42,"On track",IF(Subject!C3>=0.43,"Above"))))))))))))))))))))))))

結果取決於什麼是內H_進入,而且每個類別都有特定的範圍。

+0

當H3 = 「河畔」 成立會發生什麼?我沒有看到你的公式。你有一堆嵌套的IFs,但其他的東西看起來像。您應該使用記事本++在幾行中格式化這樣一個長公式並匹配括號。 – Dan

+0

當H3 = SUR ... AND C3 <2.69(應顯示「Not on track」) C3 = <3.3(應該顯示「正在運行」) C3> = 3.31(應顯示「Above」) –

+5

I認爲你應該使用查找表而不是嵌套的ifs。 – Kyle

回答

1

以下是如何在3個步驟中幫助自己。

步驟1 - 擴大公式欄,以便它包含超過1行: enter image description here 第二步 - 使用Alt鍵 + 輸入以制理解: enter image description here 步驟3 - 在Excel功能區上,轉至Formulas>Evaluate Formula並按評估: enter image description here

祝你好運,玩得開心! :)

2

正如在評論中有人說,創建一個表:

enter image description here

那麼你可以使用以下數組公式:

=INDEX(O:O,MATCH(C3,IF($M$1:$M$18=H3,$N$1:$N$18))) 

作爲它需要一個數組公式在退出編輯模式時用Ctrl-Shift-Enter確認而不是輸入確認。如果做得正確,Excel將在公式周圍放置{}

每個組需要在一起並按升序排列才能使用此方法。

它確實允許在不改變硬編碼公式的情況下更改標準和輸出。

enter image description here

+0

但是,謝謝您如何改變H3是否有不同的條目,如SUR,EXP,EM1,EM2和EM3? –

+0

它根本不會被改變,它會根據給定的閾值找到正確的輸出。只要將H3改爲任何選項,它就會使用這些數字作爲閾值。 @OllieW。用公式來統治他們。 –

+0

感覺像這樣一個noob ..所以我只是進入每一種可能性? –

1

它應該是兩個獨立的查找,因爲文本查找是準確和號碼查詢是近似的。例如,如果你在範圍A1:D6有這樣的:

EM1  0.23 0.43 Exp 
EM2  0.7  1.3  2 
EM3  1.2  1.8 
EXP  1.7  2.3 
MAS  2.2  2.8 
SUR  2.7  3.3 

然後=VLOOKUP("EXP",A1:C6,2,0)結果在1.7和=VLOOKUP("EXP",A1:C6,3,0)在2.3

=IF(D2 < VLOOKUP(D1, A1:C6, 2, 0), "Not on track", 
IF(D2 < VLOOKUP(D1, A1:C6, 3, 0), "On track", "Above"))