Excel 公式因「參數過多」而失敗

Excel 公式因「參數過多」而失敗

我從 Excel 收到一條訊息,指出我的公式參數過多,但我發現的有關多個 IF 的教程確實遵循此模式。我的公式是:

=IF(F5="Credit", (E5*0.5), IF(F5="Debit", (E5*0.1)), IF(F5="Cash", (E5*0.2)), IF(F5="Adv.", (E5*0.1))

我正在做的是要求單元格檢查“貸方、借方、現金或廣告”文本是否在前一個單元格上,以便它應用特定的百分比。

編輯:謝謝斯科特,幫了很多忙!

答案1

調試 Excel 公式的第一條規則是檢查括號。您的表達式有八個左括號,即,(和七個右括號,即,)。所以這是錯誤的。

調試 Excel 公式的第二個規則是檢查括號。

=IF(F5="Credit", (E5*0.5), IF(F5="Debit", (E5*0.1)), IF(F5="Cash", (E5*0.2)), IF(F5="Adv.", (E5*0.1))
    ↑---------↑  ↑------↑  ↑----------------------↑  ↑---------------------↑  ↑---------------------↑

您打電話IF時有五個參數。正如您從閱讀的文檔中應該知道的那樣,您可以IF使用三個參數進行呼叫:。訣竅是IF(boolean, <value-if-true>, <value-if-false>)<value-if-true><value-if-false> 也可以IF來電。如果您從內到外建立公式可能會有所幫助。

答案2

如果您編寫的 If 有很多 () 並且沒有值 if false,則必須將一些 ) 移至公式末尾,並且當 F5 為空或與您編寫的所有值不同時,至少寫入一個值 if false 。
我更正了您的公式並使用“”作為值,如果為 false 它將返回一個空單元格:

=IF(F5="Credit", (E5*0.5), IF(F5="Debit", (E5*0.1), IF(F5="Cash", (E5*0.2), IF(F5="Adv.", (E5*0.1),""))))

例如:
IF(F5="Debit", (E5*0.1))
我將最後一個 ) 移到了公式的末尾
您可以看一下嵌套 if 函數

相關內容