Função SE – fórmulas aninhadas e evitando armadilhas
Aplica-se a
Excel para Microsoft 365 Excel para Microsoft 365 para Mac Excel para a Web Excel 2024 Excel 2024 para Mac Excel 2021 Excel 2021 para Mac Excel 2019 Excel 2016 Excel Web App Excel para Windows Phone 10

A função SE permite fazer uma comparação lógica entre um valor e o que você espera, testando uma condição e retornando um resultado se for Verdadeiro ou Falso.

  • =SE(Algo for Verdadeiro, então faça algo, caso contrário, faça outra coisa)

Portanto, uma instrução SE pode ter dois resultados. O primeiro resultado é se a comparação for Verdadeira, o segundo se a comparação for Falsa.

As instruções SE são incrivelmente robustas e compõem a base de muitos modelos de planilha, mas elas também são a causa de muitos problemas de planilha. De forma ideal, uma instrução SE deve se aplicar a condições mínimas, tais como Masculino/Feminino, Sim/Não/Talvez, só para citar alguns, mas, às vezes, é preciso avaliar cenários mais complexos que exigem aninhar* mais de 3 funções SE juntas.

* "Aninhamento" refere-se à prática de unir várias funções em uma fórmula.

Use a função SE, uma das funções lógicas, para retornar um valor se uma condição for verdadeira e um outro valor se for falsa.

Sintaxe

SE(teste_lógico, valor_se_verdadeiro, [valor_se_falso])

Por exemplo:

  • =SE(A2>B2,"Acima do orçamento","OK")

  • =SE(A2=B2;B4-A4;"")

Nome do argumento

Descrição

teste_lógico   

(obrigatório)

A condição que você deseja testar.

valor_se_verdadeiro   

(obrigatório)

O valor que você deseja retornar se o resultado do teste_lógico for VERDADEIRO.

valor_se_falso   

(opcional)

O valor que você deseja retornar se o resultado do teste_lógico for FALSO.

Comentários

Embora o Excel permita que você aninhar até 64 funções IF diferentes, não é aconselhável fazê-lo. Por quê?

  • Várias instruções SE exigem uma grande quantidade de raciocínio para serem criadas corretamente e para certificar-se de que sua lógica pode calcular corretamente cada condição, do início ao fim. Se você não aninhar sua fórmula 100% com precisão, pode funcionar 75% do tempo, mas retornar resultados inesperados 25% do tempo. Infelizmente, são grandes as chances de cair nos 25%.

  • Várias instruções SE podem se tornar extremamente difíceis de serem mantidas, especialmente quando você retoma a declaração algum tempo depois e tenta descobrir o que você, ou pior, outra pessoa, estava tentando fazer.

Se você se encontrar com uma instrução IF que parece continuar crescendo sem fim à vista, é hora de colocar o mouse e repensar sua estratégia.

Vamos examinar como criar corretamente uma instrução IF aninhada complexa usando vários IFs e quando reconhecer que é hora de usar outra ferramenta em seu arsenal do Excel.

Exemplos

O exemplo a seguir mostra uma instrução SE aninhada relativamente padrão para a conversão da pontuação dos testes dos alunos em resultados equivalente utilizando letras.

Instrução SE aninhada complexa – A fórmula em E2 é =SE(B2>97;"A+";SE(B2>93;"A";SE(B2>89;"A-";SE(B2>87;"B+";SE(B2>83;"B";SE(B2>79;"B-";SE(B2>77;"C+";SE(B2>73;"C";SE(B2>69;"C-";SE(B2>57;"D+";SE(B2>53;"D";SE(B2>49;"D-";"F"))))))))))))
  • =SE(D2>89;"A";SE(D2>79;"B";SE(D2>69;"C";SE(D2>59;"D";"F"))))

    Essa instrução SE aninhada complexa segue uma lógica simples:

  1. Se a Pontuação do teste (na célula D2) for maior que 89, o aluno receberá um A

  2. Se a Pontuação do teste for maior que 79, o aluno receberá um B

  3. Se a Pontuação do teste for maior que 69, o aluno receberá um C

  4. Se a Pontuação do teste for maior que 59, o aluno receberá um D

  5. Nos outros casos, o aluno receberá um F

Este exemplo em particular é relativamente seguro porque não é provável que a correlação entre pontuações de teste e notas de letras mude, portanto, não exigirá muita manutenção. Mas aqui está um pensamento : e se você precisar segmentar as notas entre A+, A e A- (e assim por diante)? Agora, sua instrução SE com quatro condições precisa ser reescrita para ter 12 condições! Veja como seria sua fórmula agora:

  • =SE(B2>97;"A+";SE(B2>93;"A";SE(B2>89;"A-";SE(B2>87;"B+";SE(B2>83;"B";SE(B2>79;"B-"; SE(B2>77;"C+";SE(B2>73;"C";SE(B2>69;"C-";SE(B2>57;"D+";SE(B2>53;"D";SE(B2>49;"D-";"F"))))))))))))

Ele ainda é funcionalmente preciso e funcionará conforme o esperado, mas leva muito tempo para gravar e mais tempo para testar para garantir que ele faça o que você deseja. Outro problema gritante é que você teve que inserir as pontuações e notas de letra equivalentes manualmente. Quais são as chances de você ter acidentalmente um erro de digitação? Agora, imagine tentar fazer isso 64 vezes com condições mais complexas! Claro, é possível, mas você realmente quer se sujeitar a esse tipo de esforço e erros prováveis que serão realmente difíceis de detectar?

Dica: Todas as funções do Excel exigem parênteses de abertura e fechamento (). O Excel tentará ajudá-lo a descobrir o que vai para onde colorir diferentes partes da fórmula ao editá-la. Por exemplo, se você editar a fórmula acima, à medida que move o cursor para cada um dos parênteses finais ")", seus parênteses de abertura correspondentes virarão a mesma cor. Isso pode ser especialmente útil em fórmulas aninhadas complexas quando você está tentando descobrir se você tem parênteses correspondentes suficientes.

Exemplos adicionais

A seguir está um exemplo muito comum de cálculo da Comissão de vendas com base nos níveis de conquista de Receita.

A fórmula na célula D9 é SE(C9>15000;20%;SE(C9>12500;17,5%;SE(C9>10000;15%;SE(C9>7500;12,5%;SE(C9>5000;10%;0)))))
  • =SE(C9>15000;20%;SE(C9>12500;17,5%;SE(C9>10000;15%;SE(C9>7500;12,5%;SE(C9>5000;10%;0)))))

Essa fórmula diz que SE(C9 for maior que 15.000 deve-se retornar 20%, SE(C9 for maior do que 12.500 deve-se retornar 17,5% e assim por diante...

Embora seja notavelmente semelhante ao exemplo de Notas anteriores, essa fórmula é um ótimo exemplo de quão difícil pode ser manter grandes instruções IF – o que você precisaria fazer se sua organização decidisse adicionar novos níveis de compensação e possivelmente até mesmo alterar os valores de dólar ou percentual existentes? Você teria muito trabalho em suas mãos!

Dica: Você pode inserir quebras de linha na barra de fórmulas para facilitar a leitura de fórmulas longas. Basta pressionar ALT+ENTER antes do texto que você deseja passar para uma nova linha.

Este é um exemplo do cenário de comissão com a lógica fora de ordem:

A fórmula em D9 está fora de ordem, uma vez que =SE(C9>5000;10%;SE(C9>7500;12,5%;SE(C9>10000;15%;SE(C9>12500;17,5%;SE(C9>15000;20%;0)))))

Você pode ver o que há de errado? Compare a ordem das comparações de Receita com o exemplo anterior. Qual é o sentido da ordem? Isso mesmo, está indo de baixo para cima ($5.000 a $15.000), não o contrário. Mas por que isso é tão importante? É um grande negócio porque a fórmula não pode passar na primeira avaliação para qualquer valor acima de US $ 5.000. Digamos que você tenha US$ 12.500 em receita – a instrução IF retornará 10% porque é maior que US$ 5.000, e vai parar por aí. Isso pode ser incrivelmente problemático porque em muitas situações esses tipos de erros passam despercebidos até que tenham tido um impacto negativo. Portanto, sabendo que há algumas armadilhas graves nas instruções SE aninhadas complexas, o que você pode fazer? Na maioria dos casos, você pode usar a função PROCV em vez de criar uma fórmula complexa com a função SE. Usando PROCV, você precisa, primeiro, criar uma tabela de referência:

A fórmula na célula D2 é =PROCV(C2;C5:D17;2;VERDADEIRO)
  • =PROCV(C2;C5:D17;2;VERDADEIRO)

Essa fórmula diz para procurar o valor de C2 no intervalo C5:C17. Se o valor for encontrado, então o valor correspondente será retornado na mesma linha na coluna D.

A fórmula na célula C9 é =PROCV(B9;B2:C6;2;VERDADEIRO)
  • =PROCV(B9;B2:C6;2;VERDADEIRO)

Da mesma forma, esta fórmula procura o valor da célula B9 no intervalo B2:B22. Se o valor for encontrado, então o valor correspondente será retornado na mesma linha na coluna C.

Observação: Essas duas funções PROCVs usam o argumento VERDADEIRO no final das fórmulas, o que significa que queremos que elas localizem uma correspondência aproximada. Em outras palavras, elas farão a correspondência dos valores exatos na tabela de pesquisa, bem como os valores que estiverem entre eles. Nesse caso, as tabelas de pesquisa precisam ser classificadas em ordem Crescente, do menor para o maior.

O VLOOKUP está coberto com muito mais detalhes aqui, mas isso certamente é muito mais simples do que uma instrução IF aninhada complexa de 12 níveis! Há também outros benefícios menos óbvios:

  • As tabelas de referência da PROCV ficam à mostra e podem ser facilmente vistas.

  • Os valores da tabela podem ser facilmente atualizados e você não precisa tocar na fórmula se suas condições mudarem.

  • Se você não quiser que as pessoas vejam ou interfiram na tabela de referência, basta colocá-la em outra planilha.

Você sabia?

Agora há uma função IFS que pode substituir várias instruções IF aninhadas por uma única função. Portanto, em vez de nosso exemplo inicial de notas, que tem 4 funções SE aninhadas:

  • =SE(D2>89;"A";SE(D2>79;"B";SE(D2>69;"C";SE(D2>59;"D";"F"))))

É possível simplificar com uma única função SES:

  • =SES(D2>89;"A";D2>79;"B";D2>69;"C";D2>59;"D";VERDADEIRO;"F")

A função IFS é ótima porque você não precisa se preocupar com todas essas instruções e parênteses IF.

Observação: Esse recurso estará disponível apenas se você tiver uma assinatura do Microsoft 365. Se você for um Microsoft 365assinante, certifique-se de ter a versão mais recente do Office.Compre ou experimente o Microsoft 365

Precisa de mais ajuda?

Você pode sempre consultar um especialista na Excel Tech Community ou obter suporte nas Comunidades.

Tópicos Relacionados

função IFS (Microsoft 365, Excel 2016 e posterior) A função CONT.SE contará valores com base num único critério A função CONT.SES contará valores com base em múltiplos critérios A função SOMASE irá somar valores com base num único critério A SOMASES função irá somar valores com base em múltiplos critérios E função OU função PROCV Descrição geral das fórmulas no Excel Como evitar fórmulas quebradas Detetar erros emfórmulas Funções lógicasfunções do Excel (por ordem alfabética)Funções do Excel (por categoria)

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.