
Я получаю сообщение от 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))
Я прошу ячейку проверить, есть ли в предыдущей ячейке текст «Кредит, Дебет, Наличные или рекламный», чтобы применить определенный процент.
правка: Спасибо, Скотт, очень помог!
решение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, вам нужно переместить некоторые ) в конец формулы и написать хотя бы одно значение if false, когда F5 пусто или отличается от всех значений, которые вы написали.
Я исправил вашу формулу и использовал "" для значения if 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),""))))
Например:
ЕСЛИ(F5="Дебет", (E5*0.1))
Я перенес последний ) в конец формулы.
Вы можете взглянуть навложенная функция if