Página 1 de 1

Função SE excessiva.

Enviado: 18 Jun 2016 às 11:45
por mmanhani
Bom dia, estou com uma função SE muito aninhada. É tanta função SE que não sei ao certo quantas fiz, no final deu certo, mas queria saber se existe alguma form mais simples de resolver meu problema.

Imaginemos a situação: Estou realizando uma tabela para calcular o valor de uma multa. Na primeira célula ele me mostra o número de funcionários, na segunda célula ele me mostra o grau de infração e na terceira célula o tipo de infração. Preciso de uma fórmula que relacione essas três para resultar no valor da multa numa quarta célula.

Adicionei a planilha como anexo.

=SE(E(D3="01-10";C9=1;D9="S");GRADACAO!C21;SE(E(D3="01-10";C9=2;D9="S");GRADACAO!E21;SE(E(D3="01-10";C9=3;D9="S");GRADACAO!G21;SE(E(D3="01-10";C9=4;D9="S");GRADACAO!I21;SE(E(D3="11-25";C9=1;D9="S");GRADACAO!C22;SE(E(D3="11-25";C9=2;D9="S");GRADACAO!E22;SE(E(D3="11-25";C9=3;D9="S");GRADACAO!G22;SE(E(D3="11-25";C9=4;D9="S");GRADACAO!I22;SE(E(D3="26-50";C9=1;D9="S");GRADACAO!C23;SE(E(D3="26-50";C9=2;D9="S");GRADACAO!E23;SE(E(D3="26-50";C9=3;D9="S");GRADACAO!G23;SE(E(D3="26-50";C9=4;D9="S");GRADACAO!I23;SE(E(D3="51-100";C9=1;D9="S");GRADACAO!C24;SE(E(D3="51-100";C9=2;D9="S");GRADACAO!E24;SE(E(D3="51-100";C9=3;D9="S");GRADACAO!G24;SE(E(D3="51-100";C9=4;D9="S");GRADACAO!I24;SE(E(D3="101-250";C9=1;D9="S");GRADACAO!C25;SE(E(D3="101-250";C9=2;D9="S");GRADACAO!E25;SE(E(D3="101-250";C9=3;D9="S");GRADACAO!G25;SE(E(D3="101-250";C9=4;D9="S");GRADACAO!I25;SE(E(D3="251-500";C9=1;D9="S");GRADACAO!C26;SE(E(D3="251-500";C9=2;D9="S");GRADACAO!E26;SE(E(D3="251-500";C9=3;D9="S");GRADACAO!G26;SE(E(D3="251-500";C9=4;D9="S");GRADACAO!I26;SE(E(D3="501-1000";C9=1;D9="S");GRADACAO!C27;SE(E(D3="501-1000";C9=2;D9="S");GRADACAO!E27;SE(E(D3="501-1000";C9=3;D9="S");GRADACAO!G27;SE(E(D3="501-1000";C9=4;D9="S");GRADACAO!I27;SE(E(D3="1001-50000";C9=1;D9="S");GRADACAO!C28;SE(E(D3="1001-50000";C9=2;D9="S");GRADACAO!E28;SE(E(D3="1001-50000";C9=3;D9="S");GRADACAO!G28;SE(E(D3="1001-50000";C9=4;D9="S");GRADACAO!I28;0))))))))))))))))))))))))))))))))

Desde já, agradeço a ajuda.

Função SE excessiva.

Enviado: 18 Jun 2016 às 16:14
por mdiego
Boa tarde,

Acredito que seja isso que você precisa.

Vi que há muitas informações, da para reduzir bem o numero de pastas.

Sds

Função SE excessiva.

Enviado: 18 Jun 2016 às 18:06
por mmanhani
Diego, obrigado pelo auxílio.

Você poderia me explicar a função que você utilizou e como você fez?
Te peço isso não só para sanar minha dúvida mas também para um futuro usuário que passar pelo mesmo problema.

E, claro, preciso implementá-la para o resto da tabela.

Desde já, agradecido.

Função SE excessiva.

Enviado: 19 Jun 2016 às 00:14
por mdiego
=SEERRO(ESQUERDA(PROCV($D$3;GRADACAO!$A$2:$Q$11;CORRESP($C5;GRADACAO!$C$3:$J$3;0)+2;0);SE($C5=1;3;4));"")

Vamos lá.
SEERRO = Se toda a minha fórmula que está entre parênteses der erro ou não tiver valor disponível ele irá tratar esse erro e deixar em branco (vazio) indicado pelas aspas ("").

Esquerda por que? Sabe?

Porque estou puxando os dois valores da tabela com o auxilio do procv máx e mín 1938-2100 exemplo. Ele irá separar o mín do máximo... Esquerda(1938-2100;SE($C5=1;3;4)) O SE eu usei nesse caso, porque tem uns com 3 dígitos... Ai ele faz uma comparação que não lembro, não vi a planilha. rs

PROCV($D$3;GRADACAO!$A$2:$Q$11;CORRESP($C5;GRADACAO!$C$3:$J$3;0)+2;0)


PROCV (VALOR DE PROCURAR;MATRIZ TABELA(ONDE FICA SEUS DADOS QUE VOCÊ QUER BUSCAR);CORRESP(CATEGORIA CORRESPONDE A QUAL COLUNA?;5+2; QUERO O VALOR EXATO)

Se você observar na do máximo, vai reparar que eu usei direito é a mesma coisa, só inverti para o lado direito.

Enfim, acredito que tenha ficado meio confuso. Mas se precisar de ajuda é só enviar mensagem ou postar.

Sds,