locked
Fórmula condicional: SE RRS feed

  • Pergunta

  • Bom dia Pessoal,

     

    Em uma planilha tenho duas colunas uma com a nota e outra com o peso desta nota, preciso q em outra planila qndo eu digite a nota ele já coloque automaticamente o peso dela.

    Seria fácil... com o uso da fórmula SE, porém são mais de 31 condições e o SE só pode ser aninhado 7 vezes, como posso fazer???

     

    Exemplo da planilha:

     

    70 4
    71 4
    72 4
    73 4
    74 4
    75 6
    76 6
    77 6
    78 6
    79 6
    80 6
    81 8
    82 8
    83 8
    84 8
    85 8
    86 10
    87 10
    88 10
    89 10
    90 14
    91 16
    92 18
    93 20
    94 22
    95 24
    96 26
    97 28
    98 32
    99 34
    100 36
    >= 101  40

     

    Att,

    segunda-feira, 17 de março de 2008 14:07

Respostas

  • Use um PROCV associado ao SE, Ricardo

    Use um SE para os casos em que Nota >= 101 e um PROCV para os casos em que Nota < 101

    Dada uma nota, o PROCV procura na tabela que vc parametrizou com notas e pesos (Tabela_Parametrizada).

    Ficaria mais ou menos assim:

    =SE(Nota<101;PROCV(Nota; Tabela_Parametrizada;2;FALSO);40)

    [ ]s

     

    segunda-feira, 17 de março de 2008 14:49

Todas as Respostas

  • Use um PROCV associado ao SE, Ricardo

    Use um SE para os casos em que Nota >= 101 e um PROCV para os casos em que Nota < 101

    Dada uma nota, o PROCV procura na tabela que vc parametrizou com notas e pesos (Tabela_Parametrizada).

    Ficaria mais ou menos assim:

    =SE(Nota<101;PROCV(Nota; Tabela_Parametrizada;2;FALSO);40)

    [ ]s

     

    segunda-feira, 17 de março de 2008 14:49
  • Montei as duas fórmulas abaixo, que também atendem, caso não se queira utilizar o PROCV

    A segunda opção é útil para superar o limite de 7 funções aninhadas.

     

    Fórmula 1 =SE(Nota<=74;4;SE(Nota<=80;6;SE(Nota<=85;8;SE(Nota<=89;10;SE(Nota<=97;Nota*2-166;SE(Nota<=100;2*Nota-164;40))))))

     

    Fórmula 2 =SE(Nota<=74;4)+SE(E(Nota<=80;Nota>74);6)+SE(E(Nota<=85;Nota>80);8)+SE(E(Nota<=89;Nota>85);10)+SE(E(Nota<=97;Nota>89);Nota*2-166)+SE(E(Nota<=100;Nota>97);2*Nota-164)+SE(Nota>=101;40)

     

    [ ]s
    segunda-feira, 17 de março de 2008 17:28
  •  Adilson Soledade wrote:

    Montei as duas fórmulas abaixo, que também atendem, caso não se queira utilizar o PROCV

    A segunda opção é útil para superar o limite de 7 funções aninhadas.

     

    Fórmula 1 =SE(Nota<=74;4;SE(Nota<=80;6;SE(Nota<=85;8;SE(Nota<=89;10;SE(Nota<=97;Nota*2-166;SE(Nota<=100;2*Nota-164;40))))))

     

    Fórmula 2 =SE(Nota<=74;4)+SE(E(Nota<=80;Nota>74);6)+SE(E(Nota<=85;Nota>80);8)+SE(E(Nota<=89;Nota>85);10)+SE(E(Nota<=97;Nota>89);Nota*2-166)+SE(E(Nota<=100;Nota>97);2*Nota-164)+SE(Nota>=101;40)

     

    [ ]s

     

    Estou a tentar contornar o limite de 7 funções aninhadas, mas, até agora sem sucesso!

    Tenho uma fórmula bem complexa mas que funciona no excel 2007:

     

    =SE(É.ERRO(SE(E(G108="INF A";B108="M");PROC(F108;{0;1954;2100;2395;2544;4000};{1;2;3;4;5});SE(E(G108="INF A";B108="F");PROC(F108;{0;1954;2100;2395;2544;4000};{1;2;3;4;5});SE(E(G108="INF B";B108="M");PROC(F108;{0;1954;2100;2395;2544;4000};{1;2;3;4;5});SE(E(G108="INF B";B108="F");PROC(F108;{0;1728;1844;2075;2191;4000};{1;2;3;4;5});SE(E(G108="INIC";B108="M");PROC(F108;{0;2016;2207;2589;2780;4000};{1;2;3;4;5});SE(E(G108="INIC";B108="F");PROC(F108;{0;1759;1874;2102;2217;4000};{0;1;2;3;4;5});SE(E(G108="JUV";B108="M");PROC(F108;{0;2271;2416;2706;2851;4000};{1;2;3;4;5});SE(E(G108="JUV";B108="F");PROC(F108;{0;1743;1854;2078;2189;4000};{1;2;3;4;5});SE(E(G108="JUN";B108="M");PROC(F108;{0;2084;2320;2795;3034;4000};{1;2;3;4;5});SE(E(G108="JUN";B108="F");PROC(F108;{0;1593;1689;1881;1977;4000};{1;2;3;4;5}))))))))))));"-";SE(E(G108="INF A";B108="M");PROC(F108;{0;1954;2100;2395;2544;4000};{1;2;3;4;5});SE(E(G108="INF A";B108="F");PROC(F108;{0;1954;2100;2395;2544;4000};{1;2;3;4;5});SE(E(G108="INF B";B108="M");PROC(F108;{0;1954;2100;2395;2544;4000};{1;2;3;4;5});SE(E(G108="INF B";B108="F");PROC(F108;{0;1728;1844;2075;2191;4000};{1;2;3;4;5});SE(E(G108="INIC";B108="M");PROC(F108;{0;2016;2207;2589;2780;4000};{1;2;3;4;5});SE(E(G108="INIC";B108="F");PROC(F108;{0;1759;1874;2102;2217;4000};{0;1;2;3;4;5});SE(E(G108="JUV";B108="M");PROC(F108;{0;2271;2416;2706;2851;4000};{1;2;3;4;5});SE(E(G108="JUV";B108="F");PROC(F108;{0;1743;1854;2078;2189;4000};{1;2;3;4;5});SE(E(G108="JUN";B108="M");PROC(F108;{0;2084;2320;2795;3034;4000};{1;2;3;4;5});SE(E(G108="JUN";B108="F");PROC(F108;{0;1593;1689;1881;1977;4000};{1;2;3;4;5}))))))))))))

     

     

    Alguma sugestão!? Obrigado.

    segunda-feira, 31 de março de 2008 22:07
  • Se você deseja usar aninhamentos SE apenas pelo prazer usalos tudo bem, poderei até te passar como.

     

    Mas, tenha em mente o seguinte:

    Sempre que o aninhamento passar de 4 SE's é conveniente usar uma função PROCV ou PROCH.

    Porquê?

    Pelo simples fato de ser mais rápida, usar menos memória e de fácil manutenção.

     

    Dica:

    Para o caso >=101, retire o >=.

    Ou seja, coloque apenas o número 101.

     

    A premissa  da função PROCV é:

    A PROCV procura pelo maior valor mas que seja menor ou igual ao valor procurado.

    Isto quer dizer que: se o valor procurado for igual ou maior que 101, será retornado o valor 40.

    Portanto não é necessário usar função SE para tratar o caso 101.

     

    Exemplo:

    Supondose que a tabela esteja no intervalo A1:B32, Selecione-o e de o nome de TABELA.

    Na célula D4 digite o valor a ser procurado.

    Na célula E4 digite a fórmula:  =PROCV(D4; TABELA; 2; 1).

     

    []S

    JLM

    segunda-feira, 31 de março de 2008 23:06
  • terça-feira, 1 de abril de 2008 10:33
  • Obrigado pela resposta, mas, já testei e não serve para o efeito. Este é o original em excel2007:

     

    http://www.4shared.com/file/42659306/cabba52d/cambralenta2.html

     

    O que pretendo é, ao introduzir  dados - Sexo(M,F), escalão(INF A, INF B, INIC, JUV, JUN), e nº de voltas - encontrar a distância total e nota final.

    Obrigado pela ajuda!

    terça-feira, 1 de abril de 2008 11:08
  • Parece que tenho um erro na minha fórmula! Vou testar novamente a sua solução alterando alguns valores. Depois digo o resultado.
    terça-feira, 1 de abril de 2008 11:57
  • Resolvido! "Adilson Soledade" obrigado pela ajuda. Só tive de alterar a formula para:

     

    Code Snippet

    =SE(É.ERRO(CORRESP(B6;INDIRECTO(PROCV(B4&" - "&B5;$G$4:$H$11;2;FALSO));{1;2;3;4;5}));"-";CORRESP(B6;INDIRECTO(PROCV(B4&" - "&B5;$G$4:$H$11;2;FALSO));{1;2;3;4;5}))

     

     

     

    Aqui fica o resultado final para quem interessar:

     

    http://www.4shared.com/file/42669922/b5d7fcb0/cambralenta_OK.html

     

    terça-feira, 1 de abril de 2008 13:34
  • Ótimo,

    Qualquer dúvida, estamos às ordens.

    PS: Na próxima vez é melhor abrir um novo tópico no fórum. Desta forma tua dúvida ganha maior visibilidade e aumenta a tua chance de obter uma solução adequada. Ao utilizar um tópico que já tem uma solução definitiva, teu questionamento pode ficar "escondido".

     

    [ ]s e até a próxima.
    terça-feira, 1 de abril de 2008 13:48