SE

A função SE é nativa do Excel e faz parte do grupo de funções lógicas.


Introdução

SE testa uma condição e retorna o primeiro parâmetro se essa condição for VERDADEIRO, ou retorna o segundo parâmetro se for FALSO:

A fórmula em B4 é:

=SE(B2>=0;"Número positivo";"Número negativo")

Como a expressão B2>=0 retorna VERDADEIRO quando avaliada, o Excel retorna para o valor da célula o que há no segundo argumento, que é a cadeia de texto "Número positivo". Se o teste condicional avaliasse em FALSO, o resultado seria "Número negativo".

Uma forma diferente de escrever essa fórmula seria:

="Número "&SE(B2>=0;"positivo";"negativo")

A única diferença dessa fórmula para a original é que poupei escrever Número duas vezes.

Você pode omitir o segundo ou o terceiro parâmetro. Nesse caso, se o teste condicional retornar o parâmetro omitido, a função irá retornar 0 caso resulte segundo parâmetro e FALSO caso resulte no terceiro:

A fórmula em C4 é:

=SE(B2="Rodrigo";"Autorizado")

E em C5:

=SE(B2="Felipe";;"Não autorizado")

Note que na fórmula acima o segundo parâmetro está vazio, tanto é que há dois símbolos de ponto-e-vírgula em sequência.

Assim como ocorre em todas as funções lógicas, se você entrar com números nos argumentos, todo número diferente de 0 será considerado VERDADEIRO e o 0 será considerado como FALSO:

Otimização

A função SE é otimizada, isto é, considere a fórmula a seguir:

=SE(1+1=2;7+7;9+9)

O Excel avalia inicialmente apenas o primeiro parâmetro para depois avaliar o segundo ou terceiro dependendo do que o primeiro parâmetro retorna (VERDADEIRO ou FALSO). A prova disso se dá quando usamos a ferramenta para avaliar fórmulas (guia Fórmulas >> grupo Auditoria de Fórmulas >> botão Avaliar Fórmula). Em cada passo, a expressão que o Excel avalia está sublinhada:

SE Aninhado

Você pode usar uma função do Excel dentro de outra. O nome dessa técnica é aninhamento. Veja um exemplo de uma fórmula com dois SE, um deles aninhado em outro. A fórmula identifica se o número em B2 é negativo, positivo ou igual a zero:

O limite máximo de aninhamento passou de 7 níveis para 64 a partir do Excel 2007. Não é recomendável utilizar muitos níveis de aninhamento numa fórmula, pois ela pode se tornar difícil de ler, entender e fazer manutenção.

Veja o exemplo a seguir. Que fórmula deve ser preenchida em D4 e copiada para baixo para que o conceito dos alunos siga as regras de conceito da tabela laranja?

A resposta é a fórmula a seguir:

=SE(C4<50;"F";SE(C4<60;"E";SE(C4<70;"D";SE(C4<80;"C";SE(C4<90;"B";"A")))))

Vale ressaltar como modelei a fórmula: primeiro testa se o valor é menor que 50, depois se é menor que 60, 70, 80, 90 até, finalmente, retornar o conceito do limite superior da regra. Quando construir fórmulas grandes com SE, lembre-se de seguir essa estrutura ou poderá perder-se no meio de tantos SE. E também é importante colocar os SE aninhados no terceiro parâmetro do SE pai, pois se colocá-los no segundo, a fórmula fica pior ainda de se ler:

=SE(C4<90;SE(C4<80;SE(C4<70;SE(C4<60;SE(C4<50;"F";"E");"D");"C");"B");"A")

De qualquer forma, considero ambas as fórmulas acima difíceis de ler. Uma solução bem melhor para resolver esse tipo de problema é mostrada usando o PROCV aqui.

Erros

Se o primeiro argumento (o que faz o teste condicional) for um erro, a função resultará no erro da mesma natureza. A fórmula abaixo retorna #DIV/0!, pois é o erro que a expressão 1/0 avalia:

=SE(1/0=10;"Válido";"Inválido")

Se você utilizar uma sequência de texto no primeiro parâmetro, obterá o erro #VALOR!, como pode ser percebido escrevendo a fórmula abaixo:

=SE("Felipe";"Costa";"(nome desconhecido)")

Retorno da Função

SE também retorna um vetor. A tabela abaixo mostra o PIB das maiores economias do mundo:

Deseja-se saber a soma desses PIB de acordo com o ano preenchido na célula C23. A fórmula em C24 é:

=SOMA(SE(C23=2014;C4:C21;D4:D21))

A função SE, nesse caso, retorna uma referência, e não um vetor. Consequentemente, a função SOMA processa essa referência e retorna o resultado desejado.

Note que essa fórmula pode ser melhorada, uma vez que qualquer valor diferente de 2014 na célula C23 irá retornar a referência correspondente ao ano de 2015. Uma forma melhor de escrever a fórmula pode ser:

=SOMA(SE(C23=2014;C4:C21;SE(C23=2015;D4:D21;0)))

Essa fórmula retorna 0 para valores diferentes de 2014 e 2015.

Download

Para fazer download da pasta de trabalho usada neste artigo, clique aqui.

Sobre Felipe Gualberto

Microsoft Most Valuable Professional (MVP) de Excel.
Esta entrada foi publicada em Tutoriais e marcada com a tag , , . Adicione o link permanente aos seus favoritos.