Notifications
Clear all

Problema SE com várias condições...

6 Posts
2 Usuários
0 Reactions
1,235 Visualizações
(@pedro)
Posts: 362
Reputable Member
Topic starter
 

Bom dia!

Amigos, eu tenho uma aba de atualização monetária inseria em uma planilha maior, cuja coluna do percentual de juros eu estou tentando automatizar.

Acontece que existem várias condições como:
a) parcelas vencidas (meses anteriores ao ajuizamento, juros normal);
b) parcelas vincendas (meses posteriores ao ajuizamento, juros decrescentes);
c) o mês que seja igual ao do ajuizamento (juros normal arredondado); e
d) outras verbas indenizatórias (por exemplo "Danos Morais" que podem aparecer lá no meio das parcelas vincendas só que é juros normal)...

Na fórmula que eu montei eu consegui contemplar três situações, EXCETO a do mês igual ao do ajuizamento, quando o percentual deve apenas ser arredondado.
Acredito que toda a fórmula seja aproveitável e que eu só não esteja sabendo como condicionar o mês igual ao do ajuizamento.

Por favor, solicito a ajuda de vocês novamente.

EM ANEXO UM EXEMPLO...

Desde já, muito obrigado!

 
Postado : 15/10/2013 7:38 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Experimente assim:
=SE(B82="Danos Morais";'P:Foro Trabalhista281 - 1ª VT ESTEIO080600-32.2005.04.0281[LC - 0080600-32.2005.5.04.0281.xlsx]Resumo'!$V$10;SE(TEXTO(B82;"mmm/aa")<TEXTO(Atualiz!$M$77;"mmm/aa");'P:Foro Trabalhista281 - 1ª VT ESTEIO080600-32.2005.04.0281[LC - 0080600-32.2005.5.04.0281.xlsx]Resumo'!V$10;SE(ESQUERDA(B82;3)="13º";I81;SE(E(TEXTO(B82;"mmm/aa")>TEXTO(Atualiz!$M$77;"mmm/aa");B81="Danos Morais");I80-1%;SE(TEXTO(B82;"mmm/aa")=TEXTO(Atualiz!$M$77;"mmm/aa");ARRED(I81;2);I81-1%)))))

 
Postado : 15/10/2013 8:15 am
(@pedro)
Posts: 362
Reputable Member
Topic starter
 

Muito obrigado pela agilidade em responder Reinaldo, mas houve alguma coisa errada, ou eu não soube pôr a fórmula...

No mês arredondou, mas nos meses seguintes não decresceu, conforme a imagem:

Vi que sua fórmula ficou bem diferente da minha... Olha, a sintaxe da fórmula original, na própria planilha original, era a seguinte:

=SE(B82="Danos Morais";Resumo!$V$10;SE(B82<Início!$C$11;Resumo!V$10;SE(ESQUERDA(B82;3)="13º";I81;SE(E(B82>Início!$C$11;B81="Danos Morais");I80-1%;SE(CONCATENAR(MÊS(B82);"/";ANO(B82))=CONCATENAR(MÊS(Início!$C$11);"/";ANO(Início!$C$11));ARRED(I81;2);I81-1%)))))

Onde, a parte que eu grifei em vermelho, é a única condição da lógica que não estava funcionando...

Será que não é pontualmente neste trecho?

Obrigado!

 
Postado : 15/10/2013 8:46 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Pedro,
Em se's anhinhados deve-se levar em conta o critério "precedencia", ou seja é avaliado "se" por "se" e a partir da primeira ocorrencia que satisfaça, as demias não são avaliadas.
Ao avaliar o segundo "SE" --> SE(B82<Atualiz!$M$77;'P:Foro Trabalhista281 - 1ª VT ESTEIO080600-32.2005.04.0281[LC - 0080600-32.2005.5.04.0281.xlsx]Resumo'!V$10
Encontra que M77 (29/7/2005) e maior do que B82 (01/07/2005) portanto está satisfeita (B82<M77), então não é avaliado as demais condições.
Uma alternativa seria trocar a ordem das avaliações; porem aqui julgo dificil determinarquem sempre deve ocorrr primeiro;
Outra (a que propus) e fazer as comparações considerando mes e ano (Texto(B82,"mmm/aa");desconsiderando o dia) assim ao comparar :
Texto(B82,"mmm/aa") (jul/05) com texto(m77;"mmm/aa") (jul/05) será considerado igual, então parte para a proxima avaliação.
Bastava "trocar" aqui a formula, porem estendi a proposta para as demais comparações.
Note que:
SE(CONCATENAR(MÊS(B82);"/";ANO(B82))=CONCATENAR(MÊS(Atualiz!$M$77);"/";ANO(Atualiz!$M$77)) e a mesma coisa que:
SE(Texto(B82,"mmm/aa")=texto(m77;"mmm/aa"))
e fica mais curta.
Não consigo verificar as demais pois não tenho a planilha linkada e gera erro quando tento evoluir

 
Postado : 15/10/2013 9:15 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Revendo sua planilha/formulas, creio que algo mais simples (e eficiente)
Altere o valor de M77 de 29/7/2005 para 1/7/2005.Se a data correta do ajuizamento é necessaria, utilize outra celula (N77 por exemplo) e nessa coloque a formula M77=DATA(ANO(N77);MÊS(N77);1)

 
Postado : 15/10/2013 11:48 am
(@pedro)
Posts: 362
Reputable Member
Topic starter
 

Reinaldo muito obrigado por todos os esclarecimentos, mas o que mais contribuiu mesmo foi uma ideia que eu tirei da sua primeira fórmula...

Eu consegui resolver o problema da seguinte maneira:

=SE(B8="Danos Morais";Resumo!$V$10;SE(E(B8<Início!$C$11;OU(B9<Início!$C$11;ESQUERDA(B9;3)="13º"));Resumo!V$10;SE(ESQUERDA(B8;3)="13º";I7;SE(E(B8>Início!$C$11;B7="Danos Morais");I6-1%;SE(E(B8<Início!$C$11;B7="Danos Morais");I6;SE(TEXTO(B8;"mmm/aa")=TEXTO(Início!$C$11;"mmm/aa");ARRED(I7;2);I7-1%))))))

Destacado em vermelho, o que eu tirei de contribuição da sua fórmula.
E, destacado em azul um erro de lógica meu, que eu detectei posteriormente, fazendo tentativas com essa sintaxe que tu sugeriu.

RESOLVIDO!

 
Postado : 15/10/2013 2:09 pm