使用 IF 和 And 組合時出現 Excel 錯誤

使用 IF 和 And 組合時出現 Excel 錯誤

=IF((F2-E2)=0,"No mismatch",IF(AND((F2-E2)>0,E2=0),"Extra Item","Extra Qty"),IF(AND((F2-E2)<0,F2>0),"Short Qty","Not received"))

它給了我太多參數的錯誤

答案1

您在公式末尾缺少右括號,因為AND(...), ...)子句中有一個額外的右括號。

'fixed
=IF((F2-E2)=0,"No mismatch",IF((F2-E2)>0,"Extra Qty",IF(AND(F2-E2<0,F2<E2),"Short Qty","Not received")))
'improved
=IF((F2-E2)=0,"No mismatch",IF((F2-E2)>0,"Extra Qty",IF(F2<E2,"Short Qty","Not received")))
'check for blanks added
=IF(COUNT(E2:F2)<>2,"Not received",IF(F2-E2=0,"No mismatch",IF(F2-E2>0,"Extra Qty","Short Qty")))
'alternate
=IF(COUNT(E2:F2)<>2,"Not received", CHOOSE(SIGN(F2-E2)+2,"Short Qty","No mismatch", "Extra Qty"))

盡量減少括號的使用,僅在絕對必要的情況下使用。

答案2

除了任何其他問題之外,您沒有正確嵌套“IF()”。這似乎是一個概念問題,但很容易解決。

例如,第一個IF()遵循傳統的嵌套IF()'s形式:IF this, then THAT, ELSE this new IF。都好。第一個參數測試某些東西,第二個參數是你想要的(如果它是 TRUE),第三個參數是下一個 IF。

接下來IF(),第一個帶有 an 的參數AND()是「完整的」:它使用了所有三個參數,從而結束了你的公式:

IF(AND((F2-E2)>0,E2=0),"額外項目","額外數量")

  1. AND((F2-E2)>0,E2=0) 是正在測試的內容。
  2. 如果為真,您將獲得“額外物品”。
  3. 如果為 FALSE,您將獲得“額外數量”。

沒有地方IF()可以考慮下一步。公式到此為止,但您輸入了更多內容,因此它告訴您太多了。事物的實際形式使下一個成為IF()第四個參數,最後一個IF()成為第五個參數,因此它給出了「參數太多」的訊息。

關於它可能是如何發生的一個猜測是,您可能正在使用某個地方的公式“模板”,並且應該將引號中的結果替換為您最喜歡的每對中的第一個結果,然後替換第二個結果與整個下一個IF()子句放在引號中,但改變了第一個子句,而使第二個子句保持不變。但這只是一個(糟糕的?)猜測。

你的AND()條款完全沒問題。正如我所看到的,你沒有遺漏任何括號或在這些子句中放錯它們的位置——儘管問題已經被編輯過,也許最初是這樣,但現在已經修復了(儘管當我試圖弄清楚時,它看起來並非如此)編輯)。您可以在「F2-E2」部分周圍刪除 (),但您可能會覺得這些會讓您更容易閱讀。或者也許是你的老闆。或者,由於如果省略括號,公式有時可能會變得非常不同,因此有人可能會教您使用超出嚴格必要範圍的公式。 (奇怪的是,有時一個函數可能會在括號中的某個範圍內工作,但如果沒有它們,就會失敗,沒有明顯的原因。)如果您想像其他人一樣推動刪除它們,那麼您在這裡所做的一切絕對不會讓它們變得必要。

相關內容