Múltiplas comparações usando a função SE

funcaose22Uma das mais usuais operações que se delega ao Excel, para que ele nos ajude na tomada de decisões de forma automática, é usando a função SE (como no exemplo abaixo):

  • =SE(A5>0,5*A4;"ALTO";"BAIXO")

Neste caso o Excel compara o valor na célula A5, e verifica se é maior que a metade do valor da célula A4; se verdadeiro mostra "ALTO", se falso mostra "BAIXO";

Mas às vezes precisamos de lançar mão de mais de uma comparação; no exemplo abaixo é necessário saber se um aluno foi aprovado, se for reprovado, ou se ficou de recuperação:

  • =SE(Media<5;"Reprovado";SE(Media=5;Recuperação";"Aprovado"))

Neste exemplo é usada uma referência nomeada (Media é uma célula que foi nomeada dentro do Excel, assim não precisa ser referida pelo seu endereço físico - ex.: C54 - podendo ser usado o nome, dado à célula, de modo direto.

Este exemplo usa o ANINHAMENTO de funções SE: como um dos argumentos da função SE inicial é usada uma outra função SE, e cujo argumento final (no caso o "Aprovado") é a resposta para falso nas duas condições definidas (Media < 5 e Media = 5);

Explicando melhor, passo a passo:

  1. O Excel checa se o valor da célula Media é inferior a 5 (<5);
  2. Se for verdadeiro então mostra a palavra "Reprovado" na célula;
  3. Se for falso então processa a segunda função SE;
  4. Se esta der verdadeiro para a condição (Media=5) então mostra "Recuperação";
  5. Se for falso então mostra que o aluno foi "Aprovado";

Mas outras vezes as coisas se enrolam um pouco mais, e necessitamos fazer, por exemplo, 4 comparações de faixa, para calcularmos um valor de imposto, por exemplo. Como fazer?

Exemplo: Taxas de Imposto: Custo<100 == Imposto=8%; Custo>=100 e <150 == Imposto=10%; Custo>=150 e <200 == Imposto=12%; e Custo>=200 == Imposto=15%.

Vamos por partes (como diria Jack, o Estripador); devemos montar nossa sequência de SEs de sorte a pegar cada faixa sequencialmente; colocando os valores da taxa para cada caso "fechado" e partindo para novos SEs nos casos ainda "em aberto"; veja a fórmula abaixo primeiramente (Atenção a linha de baixo deve ser escrita numa ÚNICA linha):

  • =SE(Custo<100;Custo*0,08;SE(Custo<150;Custo*0,10;SE(Custo<200;Custo*0,12;Custo*0,15)))

Explicando melhor, passo a passo:

  1. Se o custo for <100, o cálculo é Custo * 8%, direto;
  2. Se o custo for <150 (e ele não era inferior a 100 - SE anterior) o cálculo é Custo * 10%;
  3. Se o custo for <200 (e ele não era inferior a 150 - SE anterior) o cálculo é Custo * 12%;
  4. Se o custo não for nenhum dos anteriores (então ele é maior ou igual a 200), o cálculo é Custo * 10%;

Valter Neves

Comentários

Postagens mais visitadas