Função SE – fórmulas aninhadas e evitar falhas

Função SE – fórmulas aninhadas e evitar falhas

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 SE são incrivelmente robustas e formam a base de vários modelos das folhas de cálculo, mas também são a causa de muitos dos problemas nas folhas de cálculo. Idealmente, uma instrução SE deve ser aplicada a condições mínimas como Masculino/Feminino e Sim/Não/Talvez. No entanto, por vezes poderá ter de avaliar cenários mais complexos que precisam de aninhar* mais de 3 funções SE.

* "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 está descrita mais detalhadamente aqui. No entanto, este é um método bem mais simples do que uma instrução SE complexa e aninhada de 12 níveis! Existem ainda algumas vantagens menos óbvias:

  • 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 Office 365. Se for um subscritor do Office 365, certifique-se de que tem a versão mais recente do Office.

Experimentar o Office 365 ou a versão mais recente do Excel

Precisa de mais ajuda?

Pode sempre perguntar a um especialista na Comunidade Tecnológica do Excel, obter suporte na Comunidade de Respostas ou sugerir uma nova funcionalidade ou melhoria no User Voice do Excel.

Tópicos Relacionados

Vídeo: funções avançadas da função SE
Função SE.S (Office 365, Excel 2016 e posterior)
A função CONTAR.SE conta valores com base num único critério
A função CONTAR.SE.S conta 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 múltiplos critérios
Função E
Função OU
Função PROCV
Descrição geral de fórmulas no Excel
Como evitar fórmulas quebradas
Utilizar a verificação de erros para detetar erros nas fórmulas
Funções lógicas
Funções do Excel (por ordem alfabética)
Funções do Excel (por categoria)

Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×