Notifications
Clear all

Erro função SE

6 Posts
4 Usuários
0 Reactions
1,785 Visualizações
(@gmribeiro)
Posts: 0
New Member
Topic starter
 

Boa tarde!

Não encontro o erro que o Excel indica no seguinte código:

=SE(E(U52<>"";U52<>0);
SE(C28<=2450;
SE((X7+X8)<=4;5;
SE(E((X7+X8)>4;(X7+X8)<=5);6;
SE(E((X7+X8)>5;(X7+X8)<=6);8;
SE(E((X7+X8)>6;(X7+X8)<=8);10;
SE(E((X7+X8)>8;(X7+X8)<=10);12;
SE(E((X7+X8)>10;(X7+X8)<=12);15;
SE(E((X7+X8)>12;(X7+X8)<=15);20;
SE(E((X7+X8)>15;(X7+X8)<=20);25;
SE(E((X7+X8)>20;(X7+X8)<=25);30;
SE(E((X7+X8)>25;(X7+X8)<=30);40))))))))));

SE(C28>2450;
SE((X7+X8)<=20;15;
SE(E((X7+X8)>20;(X7+X8)<=25);20;
SE(E((X7+X8)>25;(X7+X8)<=30);25;
SE(E((X7+X8)>30;(X7+X8)<=40);30))));
&" a "&
SE((X7+X8)<15;15;
SE((X7+X8)>30;30;(X7+X8)))));"")

Alguém saberia me dizer o que está errado? Ou se existe uma forma melhor de escrever isso tudo?

Obrigada!

 
Postado : 11/09/2018 1:15 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

.
gmribeiro, posta o arquivo (ou um exemplo idêntico) ... isto agiliza a resposta ... no olho fica difícil achar o erro!!!!!!
.

 
Postado : 11/09/2018 1:18 pm
(@gmribeiro)
Posts: 0
New Member
Topic starter
 

Não tenho como postar pois a fórmula não aceita o enter! Você pode copiar e colar em uma pasta de trabalho em branco.

 
Postado : 11/09/2018 1:26 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

.
Posta o arquivo (ou exemplo identico) sem a formula ... e explique nele o que deseja ... talvez possa até ser com outra formula, e não com SE!!
.

 
Postado : 11/09/2018 1:32 pm
(@xlarruda)
Posts: 0
New Member
 

O ultimo se depois e & "a" & não tem nada a ver como os anteriores. Acredito que você deveria ter fechado mais um parenteses antes de & "a" &.
Outra coisa: esse ultimo ; antes de & "a" & tbm não deveria existir acredito eu, pois o ciclo SE(condição, verdadeiro, falso) foi fechada anteriormente. Os dois ultimos SE's são independente desse ultimo ciclo pois é ele quem vai retornar a outra parte depois do a.

Nâo sei se é isso o que deseja, mas tente:

=SE(E(U52<>"";U52<>0);
SE(C28<=2450;
SE((X7+X8)<=4;5;
SE(E((X7+X8)>4;(X7+X8)<=5);6;
SE(E((X7+X8)>5;(X7+X8)<=6);8;
SE(E((X7+X8)>6;(X7+X8)<=8);10;
SE(E((X7+X8)>8;(X7+X8)<=10);12;
SE(E((X7+X8)>10;(X7+X8)<=12);15;
SE(E((X7+X8)>12;(X7+X8)<=15);20;
SE(E((X7+X8)>15;(X7+X8)<=20);25;
SE(E((X7+X8)>20;(X7+X8)<=25);30;
SE(E((X7+X8)>25;(X7+X8)<=30);40)))))))))));

SE(C28>2450;
SE((X7+X8)<=20;15;
SE(E((X7+X8)>20;(X7+X8)<=25);20;
SE(E((X7+X8)>25;(X7+X8)<=30);25;
SE(E((X7+X8)>30;(X7+X8)<=40);30))))))
&" a "&
SE((X7+X8)<15;15;
SE((X7+X8)>30;30;(X7+X8)))

No meu resultado ficou "FALSO a 15".
FALSO pq os valores das minhas celulas não atenderam o primeiro se
a = pq você inseriu esse texto
15 pq o valor de x7+x8 é menor que 15 na minha célula

 
Postado : 11/09/2018 3:20 pm
(@edsonbr)
Posts: 0
New Member
 

Boa noite, gmribeiro

...existe uma forma melhor de escrever isso tudo?

Daria pra reescrever usando constantes matriciais ao invés de nidificações sucessivas da função SE. Por exemplo:

=SE(E(U52<>"";U52<>0);
(C28<=2450)*(((X7+X8)<= 4)* 5+SOMA(((X7+X8)>{4;5;6;8;10;12;15;20;25})*((X7+X8)<={5;6;8;10;12;15;20;25;30})*{6;8;10;12;15;20;25;30;40}))+
(C28> 2450)*(((X7+X8)<=20)*15+SOMA(((X7+X8)>{20;25;30})              *((X7+X8)<={25;30;40})*{20;25;30}));
"")

É uma fórmula matricial, portanto finalize com CTRL+SHIFT+ENTER

Se seu Excel for o 2016, vc também pode usar a função SES que é uma ótima substituição quando a função SE tem muitos aninhamentos.

 
Postado : 11/09/2018 8:03 pm