Função SE – fórmulas aninhadas e evitar falhas
Aplica-se A
Excel 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 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 associar múltiplas funções numa 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

Embora 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 fórmula com 100% de precisão, 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 encontrar uma instrução SE que parece continuar a crescer sem fim à vista, está na altura de baixar o rato e repensar a sua estratégia.

Vejamos como criar corretamente uma instrução SE aninhada complexa com vários IFs e quando reconhecer que está na altura de utilizar outra ferramenta no seu 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 específico é relativamente seguro porque não é provável que a correlação entre as classificações de teste e as notas das letras mude, pelo que não será necessária muita manutenção. Eis um pensamento: e se precisar de segmentar as notas entre A+, A e A- (e assim sucessivamente)? Agora as suas quatro condições das instruções SE precisam de ser reescritas para 12 condições! Eis o aspeto que a sua fórmula teria 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"))))))))))))

Ainda está funcionalmente correto e irá funcionar conforme esperado, mas demora muito tempo a escrever e mais tempo a testar para se certificar de que faz o que pretende. Outra questão gritante é que teve de introduzir as pontuações e notas de letras equivalentes à mão. Quais são as probabilidades de ter acidentalmente um erro de digitação? Agora imagine tentar escrever esta função mais 64 vezes com condições mais complexas! Claro, é possível, mas queres mesmo submeter-te a este tipo de esforço e erros prováveis que serão muito difíceis de detectar?

Sugestão: Em todas as funções do Excel é obrigatória a utilização de parêntesis (). O Excel irá tentar ajudá-lo a descobrir o que vai para onde, ao colorir diferentes partes da sua fórmula quando a estiver a editar. Por exemplo, se editar a fórmula acima, à medida que move o cursor para além de cada um dos parênteses finais ")", os parênteses de abertura correspondentes terão a mesma cor. Isto pode ser especialmente útil em fórmulas aninhadas complexas quando está a tentar descobrir se tem parênteses suficientes correspondentes.

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

Embora seja muito semelhante ao exemplo de Notas anterior, esta fórmula é um excelente exemplo de como pode ser difícil manter grandes declarações SE – o que teria de fazer se a sua organização decidisse adicionar novos níveis de compensação e, possivelmente, até alterar os valores de dólar ou percentagem existentes? Teria muito trabalho em mãos!

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 ver o que se passa? Compare a ordem da comparação das receitas ao exemplo anterior. Qual a ordem deste exemplo? Está certo, vai de baixo para cima ($5.000 para $15.000), não o contrário. Porque é que a ordem é importante? É importante porque a fórmula não pode passar a primeira avaliação para qualquer valor superior a $5.000. Suponhamos que tem 12.500 $ em receitas – a instrução SE devolverá 10% porque é superior a 5 000 $ e irá parar por aí. Isto pode ser incrivelmente problemático porque em muitas situações estes tipos de erros passam despercebidos até terem 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 as pessoas vejam ou interfiram com a sua tabela de referência, basta colocá-la 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 IFS é ótima porque não precisa de se preocupar com todas essas instruções IF e parênteses.

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

função IFS (Microsoft 365, Excel 2016 e posterior) A função CONTAR.SE contará valores com base num único critério A função CONTAR.SE.S contará valores com base em múltiplos critérios A função SOMA.SE irá somar valores com base num único critério . SOMA.SE.S função soma valores com base em múltiplos 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.