Guias de Excel

Funções SE, E e OU no Excel: como tomar decisões com fórmulas

Aprenda a usar SE, E e OU no Excel com exemplos práticos: uma condição, várias condições, SE aninhados, SES e comparação de colunas.

Funções SE, E e OU no Excel: como tomar decisões com fórmulas

Muitas planilhas precisam tomar decisões: marcar um pedido como urgente, saber se um cliente tem desconto ou avisar quando um valor ultrapassa um limite. Fazer isso à mão, linha por linha, é lento e gera erros. O Excel resolve com três funções lógicas que se combinam entre si: SE, E e OU.

Aqui você vai ver como cada uma funciona, como juntá-las em uma única fórmula, quando vale a pena usar SE aninhados ou SES e quais erros costumam aparecer. Todos os exemplos usam uma pequena tabela de pedidos que você pode copiar para praticar.

Os dados de exemplo

Partimos desta tabela, com os cabeçalhos na linha 1 e os dados a partir da linha 2:

Cliente (A) Valor (B) Pago (C) Região (D)
Cliente A 1250 Sim Norte
Cliente B 480 Não Sul
Cliente C 760 Sim Centro
Cliente D 1900 Não Norte

Digite as fórmulas na linha 2 de uma coluna vazia e depois copie-as para baixo arrastando a alça de preenchimento.

Como funciona a função SE

SE testa uma condição e retorna um valor se ela for atendida e outro diferente se não for. Sua sintaxe é:

=SE(teste_lógico;valor_se_verdadeiro;valor_se_falso)

  • teste_lógico: uma comparação que resulta em VERDADEIRO ou FALSO, como B2>=1000.
  • valor_se_verdadeiro: o que aparece quando a condição é atendida. Pode ser um texto, um número ou outra fórmula.
  • valor_se_falso: o que aparece quando não é. Se você omitir esse argumento, o Excel mostra FALSO.

Para classificar os pedidos por tamanho:

=SE(B2>=1000;"Grande";"Normal")

O Cliente A e o Cliente D recebem “Grande”; os demais, “Normal”. Os textos sempre ficam entre aspas duplas; números e referências de células, não.

Operadores de comparação

Dentro do teste lógico você pode usar = (igual), <> (diferente), >, <, >= e <=. As comparações de texto não diferenciam maiúsculas de minúsculas: C2="sim" e C2="Sim" dão o mesmo resultado. Já os acentos contam: “Nao” sem til não é igual a “Não”.

E e OU: avaliar várias condições

As funções E e OU não retornam textos, apenas VERDADEIRO ou FALSO. A utilidade delas está em agrupar várias condições:

  • E retorna VERDADEIRO somente se todas as condições forem atendidas.
  • OU retorna VERDADEIRO se pelo menos uma for atendida.

Por exemplo, para saber se um pedido é grande e, além disso, está pago:

=E(B2>=1000;C2="Sim")

Só o Cliente A cumpre as duas condições. Esta outra fórmula verifica se o pedido é grande ou está pago:

=OU(B2>=1000;C2="Sim")

Aqui os clientes A, C e D retornam VERDADEIRO. Apenas o Cliente B, com valor baixo e sem pagamento, retorna FALSO. As duas funções aceitam até 255 condições, embora com mais de quatro ou cinco a fórmula fique difícil de ler.

Combinar SE com E e OU

O verdadeiro poder aparece quando você usa E ou OU como teste lógico do SE. Assim o VERDADEIRO ou FALSO se transforma em uma mensagem útil.

Exemplo com E

Suponha que você envia um brinde aos pedidos grandes que já estão pagos:

=SE(E(B2>=1000;C2="Sim");"Enviar brinde";"")

As aspas vazias no final deixam a célula em branco quando a condição não é atendida, o que deixa a coluna mais limpa.

Exemplo com OU

Agora imagine que as regiões Norte e Sul têm frete grátis e as demais pagam o transporte:

=SE(OU(D2="Norte";D2="Sul");"Frete grátis";"Frete pago")

E e OU na mesma fórmula

Você também pode colocar uma função dentro da outra. Esta fórmula marca como prioritários os pedidos pagos que sejam grandes ou que vão para a região Norte:

=SE(E(C2="Sim";OU(B2>=1000;D2="Norte"));"Prioritário";"Normal")

Este é o resultado das três fórmulas com os dados de exemplo:

Cliente Brinde Frete Prioridade
Cliente A Enviar brinde Frete grátis Prioritário
Cliente B (vazio) Frete grátis Normal
Cliente C (vazio) Frete pago Normal
Cliente D (vazio) Frete grátis Normal

SE aninhados e SES

Quando você precisa de mais de dois resultados, pode colocar um SE dentro de outro. Para classificar os pedidos em três tamanhos:

=SE(B2>=1000;"Grande";SE(B2>=500;"Médio";"Pequeno"))

O Excel avalia as condições em ordem e para na primeira que for atendida. Por isso a ordem importa: se você testasse primeiro B2>=500, um pedido de 1900 ficaria como “Médio”.

No Excel 2019, no Excel 2021 e no Microsoft 365 existe uma alternativa mais legível, SES, que evita encadear parênteses:

=SES(B2>=1000;"Grande";B2>=500;"Médio";VERDADEIRO;"Pequeno")

O último par, com VERDADEIRO como condição, funciona como um “em qualquer outro caso”. Se você não o incluir e nenhuma condição for atendida, a fórmula retorna o erro #N/D.

Dicas para não se perder nos aninhamentos:

  1. Anote primeiro as condições em ordem, da mais restritiva para a mais geral.
  2. Confira se cada SE aberto tem seu parêntese de fechamento. O Excel colore os pares de parênteses enquanto você digita.
  3. Se passar de três ou quatro níveis, considere usar uma tabela de faixas com PROCV em correspondência aproximada.
  4. Teste a fórmula com valores-limite (exatamente 500 ou 1000) para confirmar que caem no grupo certo.

Usar SE para comparar duas colunas

Outro uso muito comum é verificar se duas listas coincidem linha a linha, por exemplo os preços de um mês frente aos do mês anterior. Se os valores estiverem nas colunas A e B:

=SE(A2=B2;"Igual";"Diferente")

Essa comparação não diferencia maiúsculas. Se você precisa que “PROD-1” e “prod-1” contem como diferentes, use a função EXATO:

=SE(EXATO(A2;B2);"Igual";"Diferente")

Com números, às vezes dois valores parecem idênticos, mas um está armazenado como texto, e a fórmula retorna “Diferente”. Verifique o alinhamento (por padrão, números ficam alinhados à direita) ou converta o texto com VALOR.

Esse método serve quando as duas listas estão na mesma planilha e na mesma ordem. Se você quer comparar dois arquivos inteiros, nossa ferramenta gratuita para comparar arquivos do Excel analisa as duas versões e gera um arquivo com as alterações, sem escrever nenhuma fórmula.

Erros comuns com SE, E e OU

  • Esquecer as aspas nos textos. Se você digitar C2=Sim sem aspas, o Excel interpreta Sim como um nome definido e retorna #NOME?.
  • Encadear comparações como na matemática. 500<B2<1000 não funciona como você espera: o Excel avalia primeiro 500<B2, obtém VERDADEIRO ou FALSO e depois compara esse resultado com 1000. O correto é E(B2>500;B2<1000).
  • Usar o separador errado. Dependendo das configurações regionais, os argumentos são separados por ponto e vírgula ou por vírgula. Se o Excel rejeitar a fórmula, teste o outro separador.
  • Números armazenados como texto. O Excel considera qualquer texto maior que qualquer número, então B2>=1000 retorna VERDADEIRO mesmo que o valor seja o texto “250”. Isso acontece muito com dados importados de CSV.
  • Espaços invisíveis. “Norte ” com um espaço no final não é igual a “Norte”. Limpe os dados com ARRUMAR antes de comparar.

Conclusão

SE escolhe entre dois resultados, E exige que todas as condições sejam atendidas e OU se contenta com uma. Juntas, cobrem a maioria das regras que você vai encontrar em uma planilha: descontos, prioridades, alertas ou validações.

Comece com fórmulas simples, confira os resultados com valores-limite e, quando a lógica crescer, passe para SES ou para colunas auxiliares. Uma fórmula que se entende de relance é muito mais fácil de corrigir alguns meses depois.

Perguntas frequentes

Quantos SE posso aninhar em uma fórmula?

Desde o Excel 2007, você pode aninhar até 64 funções SE. Na prática, mais de três ou quatro níveis deixam a fórmula difícil de manter; nesses casos, é melhor usar SES ou uma tabela de pesquisa.

O que o SE retorna se eu não informar o valor se falso?

Se você omitir o terceiro argumento, o Excel mostra FALSO quando a condição não é atendida. Para deixar a célula em branco, digite duas aspas duplas seguidas ("") como terceiro argumento.

Posso usar SE com datas?

Sim. Compare a célula com outra data ou com HOJE(), por exemplo =SE(F2<HOJE();"Vencido";"No prazo"). Evite escrever a data como texto entre aspas dentro da fórmula, porque o resultado depende das configurações regionais.

Existe uma função para inverter uma condição?

Sim, a função NÃO transforma VERDADEIRO em FALSO e vice-versa. Por exemplo, =SE(NÃO(C2="Sim");"Cobrar pagamento";"") sinaliza os pedidos com pagamento pendente. Equivale a usar o operador <>.

Experimente nossas ferramentas gratuitas

Compare, converta, junte e limpe suas planilhas pelo navegador, sem instalar nada.

Ver todas as ferramentas
Rolar para cima