Fórmulas aninhadas e lógica condicional no Excel

Última atualização: 29/03/2026
autor: Isaac
  • A função SE é a base da lógica condicional no Excel e é combinada com as funções E, OU e NÃO para avaliar múltiplas condições.
  • As fórmulas SE aninhadas permitem múltiplos resultados, mas são difíceis de manter e muito propensas a erros se ficarem muito extensas.
  • Funções como PROCV e SE simplificam o gerenciamento de muitos casos, melhorando a legibilidade e a manutenção das planilhas.
  • Conhecer os erros comuns e usar formatação condicional, SEERRO e tabelas de referência torna as fórmulas mais robustas e fáceis de depurar.

Fórmulas aninhadas e lógica condicional no Excel

Se você trabalha com planilhas diariamente, mais cedo ou mais tarde encontrará fórmulas aninhadas e lógica condicional no Excel . Elas são a base de muitos modelos poderosos: desde sistemas simples de aprovação/reprovação até sistemas complexos de comissão, desconto ou classificação de dados.

Dominar as funções SE, E, OU e NÃO, juntamente com variações mais modernas como SE e alternativas como PROCV , faz toda a diferença entre uma planilha que "funciona mais ou menos" e um arquivo estável, fácil de manter e livre de surpresas de última hora. Vamos analisar isso com calma, mas de forma direta e com exemplos claros.

O que é lógica condicional no Excel e por que ela é tão importante?

A lógica condicional no Excel baseia-se em fazer uma pergunta de verdadeiro/falso e retornar um resultado diferente em cada caso. O núcleo disso é a função SE, que opera segundo o princípio: "se A acontecer, faça B; caso contrário, faça C".

A função SE verifica uma condição lógica (o teste lógico) e, dependendo se ela for atendida ou não, retorna um valor diferente: um quando o resultado é VERDADEIRO e outro quando é FALSO. Ela é válida para números, texto, datas e outros resultados de fórmulas.

Em termos de sintaxe, a função SE clássica é escrita assim: =SE(teste_lógico; valor_se_verdadeiro; valor_se_falso) . O teste lógico pode ter operadores de comparação como =, <>, >, <, >= ou <= e pode usar referências de células, constantes ou até mesmo outras funções.

O argumento `value_if_true` é o valor retornado quando a condição é atendida: pode ser um texto, um número, outra fórmula ou uma referência. O argumento `value_if_false` é o valor retornado quando a condição não é atendida; se você o deixar vazio, o Excel retornará FALSE por padrão, o que pode ser confuso se você não tiver planejado isso.

Primeiros exemplos simples com a função SE

Um uso típico da função SE é classificar dados em dois grupos. Por exemplo, você pode querer distinguir se uma pessoa é maior de idade ou menor de idade com base em sua idade:

Em uma célula, você poderia escrever algo como: =SE(C3>=18; "Adulto"; "Menor de idade") . Aqui, o teste lógico é C3>=18; o resultado, se VERDADEIRO, é "Adulto" e, se FALSO, é "Menor de idade".

A beleza dessa estrutura é que ela funciona da mesma forma com valores de texto . Continuando com o mesmo exemplo, você poderia perguntar se uma pessoa tem direito a um desconto com base no rótulo que você atribuiu a ela em outra coluna: =SE(D3="Maior de 18 anos"; "Sim"; "Não").

Em essência, a lógica por trás de todos esses exemplos é sempre a mesma: o Excel avalia o teste, verifica se é verdadeiro ou falso e, em cada caso, retorna um resultado diferente dependendo do que você definiu.

Combine a operação SE com as funções lógicas E, OU e NÃO.

Quando a situação exige a avaliação de mais de uma condição, as coisas ficam interessantes. O Excel oferece as funções lógicas E, OU e NÃO , que são frequentemente combinadas com a função SE para criar testes mais complexos.

A função AND retorna VERDADEIRO somente se todas as condições forem verdadeiras . Em combinação com a função SE, a estrutura típica seria: =SE(E(condição1; condição2); valor_se_verdadeiro; valor_se_falso) . Ela é muito útil quando você precisa que vários requisitos sejam atendidos simultaneamente, como uma faixa etária ou múltiplos critérios de validação.

A função OU retorna VERDADEIRO se pelo menos uma das condições for atendida . Em uma fórmula SE, ela seria integrada assim: =SE(OU(condição1; condição2; valor_se_verdadeiro; valor_se_falso) . É perfeita para casos em que existem diferentes situações que dão ao usuário o direito ao mesmo resultado, como vários motivos aceitáveis ​​para a aplicação de um benefício.

A função NÃO inverte o resultado lógico: se a condição for verdadeira, retorna FALSO, e se for falsa, retorna VERDADEIRO. Combinada com a função SE, ela teria a seguinte forma: =SE(NÃO(condição); valor_se_verdadeiro; valor_se_falso) , o que é útil quando você está procurando o caso oposto de um teste.

As funções AND e OR aceitam até 255 condições individuais , embora na prática não seja aconselhável ir tão longe, pois as fórmulas se tornam muito difíceis de ler, testar e manter. A função NOT, por outro lado, aceita apenas uma condição.

Exemplos práticos com SIM, E, OU e NÃO

Imagine que você tem números em sua planilha e deseja validar intervalos. Você pode usar algo como =SE(E(A2>0; B2<100); VERDADEIRO; FALSO) . Essa fórmula verifica se A2 é maior que 0 e se B2 é menor que 100. Se ambas as condições forem verdadeiras, ela retorna VERDADEIRO; se alguma delas for falsa, ela retorna FALSO.

  Funções LET e LAMBDA do Excel: Guia completo com exemplos

Também funciona perfeitamente com texto. Um exemplo seria =SE(E(A3="Vermelho"; B3="Verde"; VERDADEIRO; FALSO) . Aqui, a função E exige que A3 contenha "Vermelho" e B3 "Verde". Se apenas uma das duas condições for atendida, o resultado será FALSO, porque ambas as condições não são atendidas simultaneamente.

O uso do operador OU altera o comportamento. Por exemplo: =SE(OU(A4>0; B4<50); VERDADEIRO; FALSO) retornará VERDADEIRO se A4 for maior que 0 ou se B4 for menor que 50; basta que qualquer uma das duas condições seja verdadeira para que a função OU seja considerada verdadeira.

Outro exemplo comum: =SE(OU(A5="Vermelho"; B5="Verde"; VERDADEIRO; FALSO) . Aqui, a fórmula retornará VERDADEIRO se pelo menos uma das duas células contiver o texto esperado. Para casos em que você deseja verificar várias opções válidas, o operador OU é ideal.

Com a função NÃO, você pode inverter os critérios. Por exemplo , =SE(NÃO(A6>50); VERDADEIRO; FALSO) retornará VERDADEIRO se A6 não for maior que 50. Ou , =SE(NÃO(A7="Vermelho"); VERDADEIRO; FALSO) retornará VERDADEIRO quando o conteúdo de A7 for diferente de "Vermelho".

Trabalhando com datas usando lógica condicional

A lógica condicional no Excel não se limita a números ou texto; com datas, você também pode fazer comparações muito úteis para datas de vencimento, prazos ou acompanhamentos.

Um exemplo simples: =SE(A2>B2; VERDADEIRO; FALSO) compara duas datas; se a data em A2 for posterior à data em B2, a fórmula retorna VERDADEIRO. Isso permite determinar rapidamente se um evento ocorreu após uma determinada data.

Se você quiser verificar se uma data está dentro de um intervalo, pode usar a função E: =SE(E(A3>B2; A3<C2); VERDADEIRO; FALSO) . Essa fórmula verificará se A3 é posterior a B2 e anterior a C2. Se ambas as condições forem atendidas, considera-se que a data está dentro do intervalo.

A combinação do operador OU abre mais possibilidades. Por exemplo: =SE(OU(A4>B2; A4<B2+60); VERDADEIRO; FALSO) . Aqui, o critério é que A4 seja mais recente que B2 ou esteja dentro de um intervalo de 60 dias de B2, usando a soma dos dias diretamente acima da data.

E com a função NÃO você pode identificar casos excluídos, como =SE(NÃO(A5>B2); VERDADEIRO; FALSO) , que marca VERDADEIRO quando A5 não for posterior a B2, ou seja, quando for anterior ou igual à data de referência.

Use os operadores AND, OR e NOT na formatação condicional.

A lógica condicional não é usada apenas em fórmulas comuns; ela também é fundamental para a formatação condicional baseada em fórmulas . Nesse contexto, muitas vezes você nem precisa envolver os operadores AND, OR ou NOT em uma instrução IF.

Na guia Página Inicial do Excel, em Formatação Condicional > Nova Regra , você pode escolher "Usar uma fórmula para determinar quais células formatar" e inserir diretamente uma fórmula lógica, por exemplo, =A2>B2 . Se a condição for verdadeira, o Excel aplicará a formatação escolhida.

Continuando com exemplos de datas, você pode usar =E(A3>B2; A3<C2) como uma fórmula de formatação condicional para destacar as células que contêm uma data entre B2 e C2. Enquanto essa condição for atendida, a célula será formatada com a formatação selecionada.

Outra possibilidade: =O(A4>B2; A4<B2+60) para destacar datas que atendam a pelo menos um desses critérios. Usar O facilita a detecção de vários tipos de casos em uma única regra de formatação condicional.

Por fim, você pode usar =NÃO(A5>B2) para destacar valores que estejam dentro de um determinado intervalo de datas, sem precisar usar a função SE. A formatação condicional interpreta diretamente o resultado verdadeiro/falso da fórmula.

O que é uma fórmula SE aninhada e quando usá-la?

Quando uma única condição não é suficiente e você precisa de mais de dois resultados possíveis , as fórmulas SE aninhadas entram em ação: basicamente, inserir uma função SE dentro de outra como parte do argumento valor_se_falso ou valor_se_verdadeiro.

A ideia é que o Excel avalie o primeiro teste . Se for aprovado, retorna o resultado esperado; caso contrário, em vez de fornecer um valor final, ele procede à avaliação de uma segunda função SE contendo outro teste, e assim por diante. Dessa forma, é possível encadear vários níveis de tomada de decisão.

Um exemplo bem conhecido é a conversão de notas numéricas em notas alfabéticas. Uma primeira versão simples poderia ser algo como: =SE(D2>89; "A"; SE(D2>79; "B"; SE(D2>69; "C"; SE(D2>59; "D"; "F")))).

A lógica por trás dessa fórmula é escalonada: se a nota for maior que 89, é atribuído um A; caso contrário, verifica-se se é maior que 79 para atribuir um B; se também não for o caso, tenta-se 69 para um C; depois 59 para um D e, caso contrário, retorna-se um F. É um exemplo clássico de instruções IF aninhadas.

O esquema torna-se mais complexo se você quiser refiná-lo ainda mais, por exemplo, separando A+, A e A- ou adicionando mais nuances. A fórmula poderia crescer para algo como =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")))))))))))).

  Microsoft sob escrutínio: abuso de poder e práticas anticompetitivas na investigação do governo dos EUA

Embora funcionalmente correta, essa fórmula é longa, tediosa de escrever e difícil de testar . Além disso, qualquer alteração nos limites ou rótulos exige a edição manual de toda a sequência, aumentando consideravelmente a probabilidade de introduzir um erro difícil de detectar.

Limitações e problemas das fórmulas SE aninhadas

O Excel permite aninhar até 64 funções SE em uma única fórmula , mas isso não significa que seja uma boa ideia se aproximar desse limite. Após alguns níveis, a fórmula começa a ficar difícil de gerenciar.

Entre as principais desvantagens estão a complexidade da lógica e o risco de erros silenciosos . Uma cadeia de instruções IF pode parecer funcionar bem na maioria dos casos, mas falhar em uma pequena porcentagem de situações que você só detecta depois que o problema já ocorreu.

Outra dificuldade reside na manutenção a médio e longo prazo . Se você retornar a esse documento meses depois, ou se outra pessoa o herdar, entender exatamente o que aquela fórmula cheia de parênteses deveria fazer é uma verdadeira dor de cabeça, especialmente se ninguém documentou a lógica original.

Se você se deparar com uma fórmula SE que continua crescendo e adicionando cada vez mais condições, provavelmente é hora de considerar uma estratégia diferente : usar uma função mais adequada ou reestruturar o modelo de dados.

Um exemplo típico de uma fórmula SE aninhada que se torna difícil de manter é o cálculo de comissões por níveis. Por exemplo: =SE(C9>15000; 20%; SE(C9>12500; 17,5%; SE(C9>10000; 15%; SE(C9>7500; 12,5%; SE(C9>5000; 10%; 0))))) , onde a comissão aumenta de acordo com o nível de renda.

Importância da ordem em condições aninhadas

Em fórmulas SE aninhadas que trabalham com intervalos, a ordem das comparações é crucial . Se você colocar uma condição muito ampla em primeiro lugar, os demais testes nunca serão avaliados para determinados valores, resultando em resultados errôneos.

Continuando com o exemplo da comissão, se você escrever as comparações em ordem crescente (primeiro >5000, depois >7500, etc.) em vez de ordem decrescente, você descobrirá que valores altos acionam a primeira condição válida e interrompem a avaliação . Por exemplo, com 12.500 de receita, uma fórmula mal ordenada pode retornar 10% simplesmente porque é maior que 5.000 e não verifica os intervalos superiores.

Esse tipo de erro pode ser especialmente perigoso porque não produz um erro visível : a fórmula retorna uma porcentagem, tudo parece correto, mas o cálculo está incorreto. Em contextos de folha de pagamento, bônus ou precificação, essas discrepâncias podem ter consequências significativas.

Portanto, ao usar instruções IF aninhadas para intervalos ou extensões, é aconselhável definir claramente a ordem em que você deseja que as condições sejam avaliadas e verificar alguns casos extremos para garantir que a lógica se comporte conforme o esperado.

Neste ponto, faz sentido considerar alternativas mais robustas, como usar tabelas de pesquisa com a função PROCV ou recorrer a funções mais modernas que simplifiquem a estrutura da fórmula.

Use a função PROCV como alternativa a longas instruções SE aninhadas.

Em muitos cenários onde você usa longas sequências de instruções IF, é possível resolver o problema de forma mais elegante com uma tabela de pesquisa e uma função de pesquisa , como PROCV. A ideia é transferir a complexidade da fórmula para uma pequena tabela que contenha todos os casos.

Para isso, primeiro você cria uma tabela com duas colunas: na primeira, você coloca os intervalos ou valores de referência ordenados (por exemplo, os limites de notas ou faixas de renda) e, na segunda, o resultado associado a cada faixa (a nota em letra, a porcentagem de comissão, etc.).

Depois de ter essa tabela, você pode usar uma fórmula como =PROCV(C2; C5:D17; 2; VERDADEIRO) , onde C2 é o valor a ser procurado, C5:D17 é o intervalo que inclui a tabela, 2 indica que você deseja o resultado da segunda coluna e VERDADEIRO ativa uma pesquisa de intervalo aproximado.

Outro exemplo semelhante seria =PROCV(B9; B2:C6; 2; VERDADEIRO) , que procura o valor em B9 na primeira coluna do intervalo B2:C6 e retorna o valor correspondente da segunda coluna. Dessa forma, você substitui uma instrução SE aninhada em vários níveis por uma única função de pesquisa.

As vantagens são claras: a tabela de referência é visível e editável , você pode alterar limites, porcentagens ou rótulos sem mexer na fórmula e, se não quiser que os usuários a vejam, você sempre pode colocá-la em outra planilha dentro da mesma pasta de trabalho.

SETIFY: a evolução natural de IFs aninhados

Nas versões modernas do Excel (Office 2019, 2021 e Microsoft 365), existe a função SE , criada justamente para eliminar a necessidade de encadear instruções SE uma após a outra e tornar o código muito mais legível.

  Como inserir referências e citações no Word passo a passo

A função IFS permite definir até 127 pares "teste lógico - resultado" na mesma fórmula. Em vez de ter um único valor "se-falso", você lista os casos um após o outro, e o Excel retorna o resultado correspondente à primeira condição atendida.

Tomando como exemplo as notas, você poderia transformar a fórmula SE clássica em algo como =SE(D2>89; "A"; D2>79; "B"; D2>69; "C"; D2>59; "D"; VERDADEIRO; "F") . O último par (VERDADEIRO; "F") serve como uma condição genérica para qualquer caso não contemplado pelas condições anteriores.

A grande vantagem é que a confusão de parênteses típica de instruções IF aninhadas desaparece , e a fórmula fica muito mais clara de ler e manter, especialmente quando você tem várias seções ou cenários diferentes.

Em contextos mais avançados, você pode até combinar IF.SET com funções lógicas como AND ou OR em testes, de forma semelhante a como faria em um IF clássico, mas mantendo uma estrutura mais organizada.

No entanto, como não existe um argumento genérico `value_if_false`, você precisa definir explicitamente o caso oposto , geralmente com um par de resultados `TRUE` e `default`, para que a fórmula sempre retorne algo válido.

Exemplos adicionais de uso avançado de IF e lógica condicional.

Além dos exemplos típicos de notas e comissões, a função SE e suas variantes podem ser combinadas com outras funções do Excel para resolver cenários bastante variados no dia a dia.

Por exemplo, você pode usar a função SE para classificar pontos de dados em dois grupos : aprovados e reprovados, clientes ativos e inativos, produtos acima ou abaixo da meta de vendas, etc. A estrutura lógica é a mesma; apenas a condição e o texto ou valor de retorno mudam.

Você também pode verificar valores como texto , por exemplo, para validar se um livro pertence a um autor específico. A fórmula seria semelhante a =SE(B2="Stephen King"; "Sim"; "Não") , igualmente aplicável a listas de status, códigos ou qualquer outro texto que você precise verificar.

Há casos em que faz sentido aninhar instruções IF para realizar várias verificações sucessivas . Um exemplo típico é o rastreamento de remessas: se o pacote estiver marcado como enviado, você retorna uma mensagem; caso contrário, verifica se está pronto; se não estiver, indica "pendente" ou um status semelhante.

Além disso, o SI pode ser integrado a outras funções como OR, AND, MATCH, CONCATENATE e muitas outras. Um exemplo um pouco mais complexo seria acompanhar o preço de uma ação e exibir um texto indicando se está subindo ou caindo, concatenando a variação percentual, algo como "Subiu 5%" ou "Caiu 3%".

Em combinação com funções de tratamento de erros como IFERROR ou IFND , você pode lidar com situações em que a avaliação é inválida, retornando mensagens personalizadas em vez de códigos de erro pouco amigáveis.

Erros comuns ao trabalhar com IF e lógica condicional

Um dos problemas mais frequentes ao usar a função IF é encontrar um 0 aparentemente sem significado. Isso geralmente ocorre porque você não definiu explicitamente os argumentos `value_if_true` e `value_if_false`, ou porque um ramo retorna vazio enquanto o outro é interpretado como um número.

Outro erro clássico é a mensagem #NOME?, que quase sempre indica que há algo escrito incorretamente na fórmula: o nome da função, texto sem aspas, um separador incorreto ou uma referência a uma função que não existe nessa versão do Excel.

Para evitar isso, é aconselhável verificar se os textos estão sempre entre aspas , se o teste lógico possui a sintaxe correta (operadores, parênteses, etc.) e se os nomes das funções correspondem exatamente à versão em seu idioma.

Ao trabalhar com fórmulas longas ou aninhadas, é altamente recomendável usar o Assistente de Avaliação de Fórmulas na guia Fórmulas. Esse assistente permite percorrer o processo de avaliação passo a passo e visualizar o resultado de cada parte, o que é essencial quando a lógica se torna complexa.

Por fim, mantenha funções como SEERRO ou SEERRO à mão para envolver suas fórmulas principais e capturar erros de tempo de execução de forma adequada, exibindo um texto compreensível em vez de um código de erro que possa confundir o usuário.

Dominar todas essas funções de lógica condicional e compreender suas limitações permite criar planilhas muito mais limpas, confiáveis ​​e fáceis de manter, reduzindo o número de problemas ocultos e economizando tempo sempre que precisar atualizar ou expandir seus modelos.

fórmulas lógicas no Excel-2
Artigo relacionado:
Fórmulas Lógicas no Excel: Guia Completo e Exemplos Práticos