
我從 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 函數