
Estou recebendo uma mensagem do Excel informando que minha fórmula tem muitos argumentos, mas os tutoriais que encontrei sobre vários IFs seguem esse padrão. Minha fórmula é:
=IF(F5="Credit", (E5*0.5), IF(F5="Debit", (E5*0.1)), IF(F5="Cash", (E5*0.2)), IF(F5="Adv.", (E5*0.1))
O que estou fazendo é pedir à célula para verificar se o texto "Crédito, Débito, Dinheiro ou Adv" está na célula anterior para que aplique uma porcentagem específica.
editar: Obrigado Scott, ajudou muito!
Responder1
A primeira regra para depurar fórmulas do Excel é verificar os parênteses. Sua expressão tem oito parênteses esquerdos, ou seja,, (
e sete parênteses direitos, ou seja )
,. Então está errado.
A segunda regra de depuração de fórmulas do Excel é verificar os parênteses.
=IF(F5="Credit", (E5*0.5), IF(F5="Debit", (E5*0.1)), IF(F5="Cash", (E5*0.2)), IF(F5="Adv.", (E5*0.1))
↑---------↑ ↑------↑ ↑----------------------↑ ↑---------------------↑ ↑---------------------↑
Você está ligando IF
com cinco argumentos. Como você deve saber pela documentação que leu, você chama IF
com três argumentos: . O truque é queIF(boolean, <value-if-true>, <value-if-false>)
<value-if-true>
e<value-if-false>
também podem ser IF
chamadas. Pode ajudar se você construir a fórmula de dentro para fora.
Responder2
Você está escrevendo If com muitos () e sem o valor se for falso, você tem que mover alguns ) para o final da fórmula e pelo menos escrever um valor se for falso, quando F5 estiver vazio ou diferente de todos os valores que você escreveu .
Corrigi sua fórmula e usei "" para valor, se for falso, ele retornará uma célula vazia:
=IF(F5="Credit", (E5*0.5), IF(F5="Debit", (E5*0.1), IF(F5="Cash", (E5*0.2), IF(F5="Adv.", (E5*0.1),""))))
Por exemplo:
IF(F5="Debit", (E5*0.1))
movi o último ) para o final da fórmula
Você pode dar uma olhada emfunção if aninhada