Função SE – fórmulas aninhadas e evitar falhas
Applies ToExcel para Microsoft 365 Excel para Microsoft 365 para Mac Excel na Web Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 para Mac Excel 2019 Excel 2019 para Mac Excel 2016 Excel Web App Excel para Windows Phone 10

A função SE permite-lhe realizar uma comparação lógica entre um valor e o resultado que espera ao testar uma condição. Esta poderá devolver o resultado como Verdadeiro ou Falso.

  • =SE(Algo é Verdadeiro, então fazer algo, caso contrário, fazer outra ação)

Assim, uma instrução SE pode ter dois resultados. O primeiro resultado é se a sua comparação for considerada Verdadeiro, o segundo se a sua comparação for considerada Falso.

As instruções IF são incrivelmente robustas e formam a base de muitos modelos de folhas de cálculo, mas também são a causa principal de muitos problemas de folhas de cálculo. Idealmente, uma instrução SE deve aplicar-se a condições mínimas, como Masculino/Feminino, Sim/Não/Talvez, para citar alguns, mas por vezes poderá ter de avaliar cenários mais complexos que exijam aninhamento* mais de 3 funções SE em conjunto.

* "Aninhar" refere-se à prática de associação de várias funções numa só fórmula.

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

Sintaxe

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

Por exemplo:

  • =SE(A2>B2;"Ultrapassou o Orçamento";"OK")

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

Nome do argumento

Descrição

teste_lógico   

(obrigatório)

A condição que pretende testar.

valor_se_verdadeiro   

(obrigatório)

O valor que pretende que seja devolvido se o resultado do teste_lógico for VERDADEIRO.

valor_se_falso   

(opcional)

O valor que pretende que seja devolvido se o resultado do teste_lógico for FALSO.

Comentários

Ainda que o Excel lhe permita aninhar até 64 funções SE diferentes, não é aconselhável fazê-lo. Porquê?

  • Múltiplas instruções SE exigem muito trabalho para serem criadas corretamente, de forma a garantir que a sua lógica pode ser calculada corretamente ao longo de cada condição até ao fim. Se não aninhar a sua fórmula a 100%, esta poderá funcionar 75% das vezes, mas devolver resultados inesperados 25% das vezes. Infelizmente, a probabilidade de o utilizador detetar esses 25% é pequena.

  • Múltiplas instruções SE podem tornar-se incrivelmente difíceis de gerir, principalmente quando regressa tempos depois e tenta descobrir o que você, ou pior, outra pessoa, estava a tentar fazer.

Se estiver numa situação em que as instruções SE parecem continuar a crescer sem parar, é altura de parar e repensar a sua estratégia.

Vejamos como criar corretamente uma complexa instrução SE aninhada através de múltiplos SE.S e como reconhecer quando é altura de utilizar outra ferramenta no arsenal do Excel.

Exemplos

Em seguida apresentamos um exemplo de uma instrução SE aninhada padrão para converter os resultados dos testes dos estudantes na classificação equivalente.

Instrução SE complexa e aninhada – A fórmula em E2 é =SE(B2>97;"Excelente";SE(B2>93;"Muito Bom";SE(B2>89;"Muito Bom Menos";SE(B2>87;"Bom Mais";SE(B2>83;"Bom";SE(B2>79;"Bom Menos"; SE(B2>77;"Satisfaz Mais";SE(B2>73;"Satisfaz Mais";SE(B2>69;"Satisfaz";SE(B2>57;"Satisfaz";SE(B2>53;"Satisfaz Menos";SE(B2>49;"Não Satisfaz";"Não Satisfaz"))))))))))))
  • =SE(D2>89;"Muito Bom";SE(D2>79;"Bom";SE(D2>69;"Satisfaz";SE(D2>59;"Satisfaz Menos";"Não Satisfaz"))))

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

  1. Se o Resultado do Teste (na célula D2) for maior do que 89, o estudante obterá um Muito Bom

  2. Se o Resultado do Teste for maior do que 79, o estudante obterá um Bom

  3. Se o Resultado do Teste for maior do que 69, o estudante obterá um Satisfaz

  4. Se o Resultado do Teste for maior do que 59, o estudante obterá um Satisfaz Menos

  5. Caso contrário, o estudante obterá um Não Satisfaz

Este exemplo em particular é relativamente seguro, uma vez que não é provável que a correlação entre os resultados dos testes e as classificações sejam alteradas, pelo que não precisará de muita manutenção. No entanto, e se precisar de segmentar as notas entre o Excelente, o Muito Bom e o Muito Bom Menos (entre outros)? Agora as suas quatro condições das instruções SE precisam de ser reescritas para 12 condições! Eis o aspeto da fórmula agora:

  • =SE(B2>97;"Excelente";SE(B2>93;"Muito Bom";SE(B2>89;"Muito Bom Menos";SE(B2>87;"Bom Mais";SE(B2>83;"Bom";SE(B2>79;"Bom Menos"; SE(B2>77;"Satisfaz Mais";SE(B2>73;"Satisfaz Mais;SE(B2>69;"Satisfaz";SE(B2>57;"Satisfaz";SE(B2>53;"Satisfaz Menos";SE(B2>49;"Não Satisfaz";"Não Satisfaz"))))))))))))

A função continua a estar correta e irá funcionar conforme esperado, mas demora mais tempo a escrever e ainda mais tempo a testar, para se certificar de que a função funciona da forma que pretende. Outro dos grandes problemas é ter de introduzir os resultados e os equivalentes manualmente. Quais serão as probabilidades de acidentalmente se enganar a escrever? Agora imagine tentar escrever esta função mais 64 vezes com condições mais complexas! É possível, mas será que pretende mesmo ter todo este esforço que provavelmente terá erros muito difíceis de detetar?

Sugestão: Em todas as funções do Excel é obrigatória a utilização de parêntesis (). O Excel tentará ajudá-lo a compreender o que deve ser inserido e onde ao colorir diferentes partes da sua fórmula quando a estiver a editar. Por exemplo, se estiver a editar a fórmula acima, ao deslocar o cursor por cada um dos parêntesis de fecho ")", o parêntesis de abertura correspondente terá a mesma cor. Esta funcionalidade poderá ser útil em fórmulas complexas e aninhadas, ao tentar descobrir se todos os parêntesis estão corretamente fechados.

Exemplos adicionais

Em seguida, apresentamos um exemplo comum do cálculo da Comissão de Vendas com base nos objetivos alcançados para as receitas.

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)))))

Esta fórmula indica que SE (C9 for maior do que 15 000 irá devolver 20%, SE (C9 for maior do que 12 500 irá devolver 17,5% e assim sucessivamente...

Mesmo sendo muito semelhante ao exemplo anterior das Classificações, esta fórmula é um bom exemplo da dificuldade de gerir uma grande instrução SE – o que faria se a sua organização decidisse adicionar novos níveis de compensação e existisse a possibilidade de alterar o dólar existente ou os valores de percentagem? Teria bastante trabalho!

Sugestão: Pode inserir quebras de linha na barra de fórmulas para tornar as fórmulas mais longas mais fáceis de ler. Prima Alt+Enter antes de inserir o texto que pretende moldar numa nova linha.

Eis um exemplo de um cenário de comissão com a lógica desordenada:

A fórmula em D9 está desordenada como =SE(C9>5000;10%;SE(C9>7500;12,5%;SE(C9>10000;15%;SE(C9>12500;17,5%;SE(C9>15000;20%;0)))))

Consegue perceber o que está errado? Compare a ordem da comparação das receitas ao exemplo anterior. Qual a ordem deste exemplo? A ordem é da parte inferior para a parte superior (5 000 € a 15 000 €) e não ao contrário. Porque é que a ordem é importante? É importante porque a fórmula não pode passar da primeira avaliação para qualquer valor acima dos 5 000 €. Imaginemos que tem 12 500 € em receitas – a instrução SE irá devolver 10% porque é maior do que 5 000 € e irá parar nessa secção. Poderá ser muito problemático porque em várias situações estes tipos de erros podem passar despercebidos até que tenham um impacto negativo. Ao saber que existem falhas graves com as instruções SE complexas e aninhadas, o que poderá o utilizador fazer? Na maioria dos casos, pode utilizar a função PROCV em vez de construir uma fórmula complexa com a função SE. Ao utilizar a função PROCV, primeiro terá de 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)

Esta fórmula indica que o valor deve ser procurado em C2 no intervalo C5:C17. Se o valor for encontrado, a devolução do valor correspondente estará 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 na célula B9, no intervalo B2:B22. Se o valor for encontrado, a devolução do valor correspondente estará na mesma linha, na coluna C.

Nota: Ambas as funções PROCV irão utilizar o argumento VERDADEIRO no final das fórmulas, o que significa que pretendemos que procurem uma correspondência aproximada. Por outras palavras, irá corresponder aos valores exatos na tabela de referência, assim como a todos os valores que se encontrem entre os mesmos. Neste caso, as tabelas de referência precisam de ser ordenadas por ordem Ascendente, do menor para o maior.

A função PROCV é abordada com muito mais detalhe aqui, mas isto é certamente muito mais simples do que uma instrução SE aninhada complexa de 12 níveis! Também existem outros benefícios menos óbvios:

  • As tabelas de referência da função PROCV encontram-se facilmente acessíveis e visíveis.

  • Os valores das tabelas podem ser facilmente atualizados e nunca terá de alterar a fórmula mesmo que as condições mudem.

  • Se não quiser que outras pessoas vejam ou interfiram com a sua tabela de referências, coloque-a noutra folha de cálculo.

Sabia que...?

Agora existe a função SE.S que pode substituir múltiplas instruções SE aninhadas por uma única função. Assim, em vez do nosso exemplo inicial que tem 4 instruções SE aninhadas:

  • =SE(D2>89;"Muito Bom";SE(D2>79;"Bom";SE(D2>69;"Satisfaz";SE(D2>59;"Satisfaz Menos";"Não Satisfaz"))))

Poderemos torná-la mais simples com a função SE.S:

  • =SE.S(D2>89;"Muito Bom";D2>79;"Bom";D2>69;"Satisfaz";D2>59;"Satisfaz Menos";VERDADEIRO;"Não Satisfaz")

A função SE.S é ótima porque não precisa de se preocupar com todas as instruções SE e os respetivos parêntesis.

Nota: Esta funcionalidade só está disponível se tiver uma subscrição do Microsoft 365. Se for um subscritor do Microsoft 365, certifique-se de que tem a versão mais recente do Office.Comprar ou experimentar o Microsoft 365

Precisa de mais ajuda?

Pode sempre colocar uma pergunta a um especialista da Comunidade Tecnológica do Excel ou obter suporte nas Comunidades.

Tópicos Relacionados

Vídeo: Funções SE avançadas Função SE.S (Microsoft 365, Excel 2016 e posterior) A função CONTAR.SE irá contar valores com base num único critério A função CONTAR.SE.S irá contar valores com base em múltiplos critérios A função SOMA.SE soma valores com base num único critério A função SOMA.SE.S soma valores com base em vários critérios Função ANDFunção ORFunção PROCVDescrição geral das fórmulas no ExcelComo evitar fórmulas quebradasDetetar erros em fórmulasFunçõ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 subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.