Como escrever uma função IF no Excel que executa um cálculo baseado em 3 argumentos?

0

Eu tenho uma tabela com três tipos de clientes: GOV, NProfit e COM, contidos na coluna B. Cada um deles recebe uma taxa de faturamento diferente, 1,50, 2 e 3, respectivamente, que precisa ser aplicada às unidades faturadas em coluna G.

Eu preciso escrever uma função na coluna H que lê o tipo de cliente na coluna B, e aplica a taxa apropriada para o tipo de cliente às unidades faturadas na coluna G, dando-me a conta total na coluna H.

    
por Chad Pranke 17.02.2013 / 08:28

2 respostas

4

Embora seja tentador à primeira vista, as funções IF () aninhadas não são a melhor maneira de lidar com esse cenário.

Para facilitar a manutenção, sugiro que você crie uma tabela separada com os três tipos de clientes e suas respectivas taxas de faturamento. Uma tabela simples com duas colunas serve. A coluna A é do tipo cliente, a coluna B é a taxa de faturamento.

Em seguida, você pode usar um VLookup para obter a taxa de faturamento para o tipo de cliente.

O benefício dessa abordagem é que, se a taxa de faturamento mudar, você não precisará alterar todas as células com instruções IF aninhadas, como sugerido acima. Você acabou de alterar a taxa de faturamento na tabela de pesquisa.

Coloque a tabela de consulta em uma nova planilha chamada, por exemplo, "Lookup". A linha 1 é rótulos. A1 é tipo de cliente, B1 é taxa.

Na sua folha de dados original, você pode usar um Vlookup como este

=VLOOKUP(A1,Lookup!$A$1:$B$4,2,FALSE)

Esta pesquisa pressupõe que o tipo de cliente está na célula A1 na planilha atual. Por favor ajuste ao seu cenário. Além disso, você pode aninhar o Vlookup em outro cálculo. Por exemplo, se você quiser fazer um cálculo que envolva a taxa de faturamento, faça algo como

=B1*VLOOKUP(A1,Lookup!$A$1:$B$4,2,FALSE)

em que A1 da planilha atual é o tipo de cliente e B1 da planilha atual é o valor que você deseja multiplicar com a taxa de faturamento do respectivo tipo de cliente.

Se os seus dados nem sempre tiverem um tipo de cliente, convém usar alguma interceptação de erro para dados sem um tipo de cliente. Normalmente, a fórmula retornaria uma mensagem de erro. Se você quebrar a fórmula em uma instrução IFError (), você pode sinalizar isso, como

=IFERROR(B1*VLOOKUP(A1,Lookup!$A$1:$B$4,2,FALSE),"Please check data!")
    
por 17.02.2013 / 09:23
1

Você está se referindo a algo assim?

= SE (B1 = 1, "cliente1", IF (B1 = 2, "cliente2", IF (B1 = 3, "customer3", "opção inválida")))

Substitua 1, 2, 3 pelo valor real que você está "testando" e "customer1", "customer2", "customer3" com o que você deseja que a saída seja

    
por 17.02.2013 / 08:58