Notifications
Clear all

Aninhamento de if - Impossível?

6 Posts
3 Usuários
0 Reactions
1,111 Visualizações
(@davi1982)
Posts: 7
Active Member
Topic starter
 

Pessoal, se alguém puder ajudar, preciso aninhar vários if para me dar um resultado:

Tenho uma planilha onde e possuo 2 instituições financeiras com modalidades de pagamentos distintas e taxas distintas para cada uma delas, relacionei-as abaixo:

Instituições: Itaú e pagseguro
Modalidades: Boleto, Cartão de crédito, Débito online e cheque.

Abaixo estão as fórmulas para fazer cada cálculo (Fiz uma para cada linha, as fórmulas estão corretas de acordo com os dados da planilha... na coluna J ).... e minha dúvida é como aninhar todos os ifs em apenas uma célula para que ele verifique todas as condições

Modalidade 1 para pagamento com boleto via pagseguro: SE(B4="Pagseguro";SE(C4="Boleto";((I4)*Fatores!B5))+Fatores!B6)
Modalidade 2 para pagamento com débito online via pagseguro: SE(B4="Pagseguro";SE(C4="Débito online";((I4)*Fatores!C5))+Fatores!C6)
Modalidade 3 para pagamento com cartão de crétido via pagseguro: SE(B4="Pagseguro";SE(C4="Cartão";((I4)*Fatores!D5))+Fatores!D6)
Modalidade 4 para pagamento com boleto via itaú: SE(B4="Itaú";SE(C4="Boleto";((I4)*Fatores!E5))+Fatores!E6)
Modalidade 5 para pagamento com débito online via itaú: SE(B4="Itaú";SE(C4="Débito online";((I4)*Fatores!F5))+Fatores!F6)
Modalidade 6 para pagamento com cartão de crédito via itaú: SE(B4="Itaú";SE(C4="Cartão";((I4)*Fatores!G5))+Fatores!G6)
Modalidade 7 para pagamento com dinheiro via itaú: SE(B4="Itaú";SE(C4="Dinheiro";((I4)*Fatores!H5))+Fatores!H6)
Modalidade 8 para pagamento com cheque via itaú: SE(B4="Itaú";SE(C4="Cheque";((I4)*Fatores!I5))+Fatores!I6)

Quem aceita o desafio? Segue um anexo

 
Postado : 04/02/2014 7:30 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Está um pouco longa, pq o cérebro está lento hj. (Acho que dá pra simplificar).

=ÍNDICE(DESLOC(Fatores!$A$4;1;SE($B4="Pagseguro";1;4);1;SE($B4="Pagseguro";3;5));CORRESP($C4;DESLOC(Fatores!$A$4;0;SE($B4="Pagseguro";1;4);1;SE($B4="Pagseguro";3;5));0))*$I4+ÍNDICE(DESLOC(Fatores!$A$4;2;SE($B4="Pagseguro";1;4);1;SE($B4="Pagseguro";3;5));CORRESP($C4;DESLOC(Fatores!$A$4;0;SE($B4="Pagseguro";1;4);1;SE($B4="Pagseguro";3;5));0))

Observação: na planilha Fatores, a palavra "Cartão" está com um espaço no fim. Corrija isso, pois o texto tem que ser exatamente igual, ou vai dar erro.

Abs

 
Postado : 04/02/2014 8:43 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia Davi

Se quiser usar a função SE, experimente copiar e colar está fórmula na J4 e arrastar para as demais células.

=SE(E(B4="Pagseguro";C4="Boleto");I4*Fatores!$B$5+Fatores!$B$6;SE(E(B4="Pagseguro";C4="Débito online");I4*Fatores!$C$5+Fatores!$C$6;SE(E(B4="Pagseguro";C4="Cartão");I4*Fatores!$D$5+Fatores!$D$6;SE(E(B4="Itaú";C4="Boleto");I4*Fatores!$E$5+Fatores!$E$6;SE(E(B4="Itaú";C4="Débito online");I4*Fatores!$F$5+Fatores!$F$6;SE(E(B4="Itaú";C4="Cartão");I4*Fatores!$G$5+Fatores!$G$6;SE(E(B4="Itaú";C4="Dinheiro");I4*Fatores!$H$5+Fatores!$H$6;SE(E(B4="Itaú";C4="Cheque");I4*Fatores!$I$5+Fatores!$I$6;""))))))))

Dê retorno.

Se a resposta foi útil, faça a gentileza de clicar na mãozinha que fica do lado da ferramenta Citar.

At.te

 
Postado : 04/02/2014 9:11 am
(@davi1982)
Posts: 7
Active Member
Topic starter
 

Patropi e Gtsalikis

Se eu pudesse clicar na maozinha "Jóia" 10 vezes..... clicaria. Funcionou perfeitamente. Valeu demais pela força, espero retribuir o conhecimento um dia.

PS: Patropi.... percebi que na última condição você colocou uma aspas vazias "" .... acho que por isso não estava conseguindo os resultados desejados pois até então estava entendendo a lógica da formula... será por isso?

Abraços e valeu mais uma vez.

:shock:

 
Postado : 04/02/2014 9:41 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Davi

Na função SE, sempre temos as duas opções, que são VERDADEIRO e FALSO.
na tua fórmula, se nenhuma das opções for verdadeira, deve retornar a célula vazia, por isso coloquei a 2 aspas duplas.
Se você não incluir a opção falso e nenhuma das condições for atendida, retornará a palavra FALSO.
Não sei se você observou, mas inseri a função E que usamos quando tem mais de um condição, para não repetir a função SE.
Quando quiser montar uma fórmula SE aninhada, monte uma fórmula por linha e depois que testar e estiver dando certo, daí você copia e vai colando, ou seja fazendo o aninhamento, na primeira linha e depois arrasta para as demais.

Espero ter esclarecido.

At.te

 
Postado : 04/02/2014 9:58 am
(@gtsalikis)
Posts: 2373
Noble Member
 

É, acho que consegui "simplificar" um pouco (não que eu esteja satisfeito, deve ter uma forma mais simples).

=DESLOC(Fatores!$A$4;1;SE($B4="Pagseguro";"0";"3")+CORRESP($C4;Fatores!$E$4:$I$4;0))*$I4+DESLOC(Fatores!$A$4;2;SE($B4="Pagseguro";"0";"3")+CORRESP($C4;Fatores!$E$4:$I$4;0))
 
Postado : 04/02/2014 10:18 am