Menu

SE aninhado no Excel: várias condições SE com exemplos

=SE(B2>=90;"A";SE(B2>=80;"B";SE(B2>=70;"C";"F"))) coloca um SE dentro do outro para escolher entre mais de dois resultados. Veja como o SE aninhado é lido, por que a ordem das condições importa e quando a SES ou uma tabela de busca são a melhor escolha.

Todas as planilhas desta página são ao vivo: mude um número ou uma fórmula e elas recalculam.

Um SE aninhado é um SE dentro de outro SE, usado quando há mais de dois resultados possíveis. =SE(B2>=90;"A";SE(B2>=80;"B";SE(B2>=70;"C";"F"))) dá A para 90 ou mais, B de 80 a 89, C de 70 a 79 e F abaixo de 70. A função SE se chama IF em inglês, e a tabela mostra a fórmula em inglês, com vírgulas; você também pode digitar as fórmulas em português, com ponto e vírgula.

Notas a partir da pontuação
C2
ABC
1StudentScoreGrade
2Ana94A
3Ben81B
4Chloe70C
5Dan65F
6Eve88B
7Finn90A
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =SE(B2>=90;"A";SE(B2>=80;"B";SE(B2>=70;"C";"F")))

Clique em C2 e olhe a barra de fórmulas: três funções SE, três parênteses fechando no fim. Mude a pontuação de Dan em B5 para 75 e a nota dele passa de F para C.

Como um SE aninhado é lido

O Excel lê a fórmula desde o começo e para no primeiro teste que for VERDADEIRO:

=IF(B2>=90, "A",
   IF(B2>=80, "B",
      IF(B2>=70, "C",
         "F")))
  1. A pontuação é 90 ou mais? Então A, e nada mais é verificado.
  2. Se não, é 80 ou mais? Então B. Esse teste não precisa dizer "e abaixo de 90", porque uma pontuação de 90 ou mais nunca chega até ele.
  3. Se não, é 70 ou mais? Então C.
  4. Se não, F, o valor_se_falso do último SE.

Cada SE de dentro fica no lugar do valor_se_falso do anterior. O Excel aceita até 64 níveis, mas uma fórmula com mais de quatro ou cinco é difícil de conferir a olho. O Excel aceita quebras de linha dentro de uma fórmula, então você pode organizar uma fórmula longa assim na barra de fórmulas: pressione Alt+Enter (Windows) ou Control+Option+Return (Mac) antes de cada SE.

Por que a ordem das condições importa

Como o Excel para no primeiro teste VERDADEIRO, os limites precisam ir do mais alto para o mais baixo quando você usa >=. A coluna D tem os mesmos três testes na ordem inversa:

Os mesmos testes, na ordem errada
D2
ABCD
1StudentScoreRight orderWrong order
2Ana94AC
3Ben81BC
4Chloe70CC
5Dan65FF
6Eve88BC
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =SE(B2>=70;"C";SE(B2>=80;"B";SE(B2>=90;"A";"F")))

Na coluna D, todo mundo com 70 ou mais recebe C: uma pontuação de 94 passa no primeiro teste, B2>=70, e os testes do B e do A nunca são alcançados. Se você prefere começar pela faixa mais baixa, inverta os operadores: =SE(B2<70;"F";SE(B2<80;"C";SE(B2<90;"B";"A"))) dá as mesmas notas da coluna C.

SE aninhado com texto

Os testes também podem comparar texto. Aqui o frete depende da região, e toda região que não foi citada recebe o último valor:

Frete por região
C2
ABC
1OrderRegionFee
21001North$5.00
31002South$7.00
41003West$9.00
51004East$6.00
61005Islands$9.00
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =SE(B2="North";5;SE(B2="South";7;SE(B2="East";6;9)))

West e Islands não batem com nenhum dos três testes e recebem o valor final, $9.00. Quando todos os testes comparam a mesma célula com um valor fixo, como aqui, a PARÂMETRO (SWITCH em inglês) escreve a mesma regra citando cada região uma vez: =PARÂMETRO(B2;"North";5;"South";7;"East";6;9). Veja a página da PARÂMETRO.

SE aninhado com E

Um SE aninhado pode combinar os níveis com E ou OU quando uma faixa depende de duas células. Um vendedor com vendas de 2.000 ou mais e pelo menos 3 anos de casa recebe 10%, qualquer outro acima de 2.000 recebe 5%, e o resto não recebe nada:

Taxa de comissão
D2
ABCD
1RepSalesYearsRate
2Ana2400410%
3Ben210015%
4Chloe150060%
5Dan3000310%
6Eve90020%
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =SE(E(B2>=2000;C2>=3);10%;SE(B2>=2000;5%;0))

Ana e Dan se qualificam para 10%, Ben tem as vendas, mas não os anos, e recebe 5%, e Chloe e Eve recebem 0%. A ordem importa aqui também: o teste mais exigente vem primeiro.

SES: a mesma coisa sem aninhar

No Excel 2019, no Excel 2021 e no Microsoft 365, a SES (IFS em inglês) recebe os testes e os resultados em pares, sem SE de dentro e com um parêntese só no fim. VERDADEIRO como último teste funciona como "todo o resto":

=IFS(B2>=90,"A",B2>=80,"B",B2>=70,"C",TRUE,"F")

No Excel em português: =SES(B2>=90;"A";B2>=80;"B";B2>=70;"C";VERDADEIRO;"F"). Ela lê as condições na mesma ordem e para na primeira VERDADEIRO, então a regra de ordem acima continua valendo. A página da SES trata dela, inclusive do #N/D (#N/A em inglês, como a tabela mostra) que ela retorna quando nenhum teste bate. No Excel 2016 e anteriores, a SES não existe, e um arquivo que a usa mostra #NOME? ali.

Prática: uma comissão em três faixas

Comissão
C2
ABC
1RepSalesCommission
2Ana$6,200
3Ben$2,400
4Chloe$600
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.

Sua vez: Em C2, pague 10% das vendas em B2 quando forem 5000 ou mais, 5% quando forem 1000 ou mais, e 0 nos outros casos. A fórmula é arrastada até C4.

Uma tabela de busca no lugar de muitos SE

Quando as faixas são números e há mais de três ou quatro, guarde os limites em uma tabelinha e faça uma busca. A tabela fica ordenada do menor limite para o maior, e a correspondência aproximada (VERDADEIRO como último argumento) retorna a linha do maior limite que não passa da pontuação:

Notas a partir de uma tabela de faixas
C2
ABCDEF
1StudentScoreGradeMin scoreGrade
2Ana94A0F
3Ben81B70C
4Chloe70C80B
5Dan65F90A
6Eve88B
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =PROCV(B2;$E$2:$F$5;2;VERDADEIRO)

Os resultados batem com os do SE aninhado do começo da página. Para mudar a faixa do B para 85, mude E4 para 85: nenhuma fórmula muda, e todas as notas se atualizam. Em português, a fórmula de C2 é =PROCV(B2;$E$2:$F$5;2;VERDADEIRO), com PROCV (VLOOKUP em inglês). Com PROCX (XLOOKUP em inglês), a mesma busca é =PROCX(B2;$E$2:$E$5;$F$2:$F$5;;-1), em que -1 significa "correspondência exata ou o próximo valor menor"; aí a tabela não precisa estar ordenada.

Tente você: a tabela de faixas está pronta, escreva a busca.

Nota com PROCV
C2
ABCDEF
1StudentScoreGradeMin scoreGrade
2Ana860F
370C
480B
590A
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.

Sua vez: Em C2, retorne a nota da pontuação em B2 a partir da tabela de faixas em E2:F5.

Perguntas frequentes

Como escrevo várias funções SE no Excel?

Coloque o próximo SE no argumento valor_se_falso do anterior: =SE(B2>=90;"A";SE(B2>=80;"B";SE(B2>=70;"C";"F"))). O Excel testa as condições da primeira à última e para na primeira que for VERDADEIRO.

Quantas funções SE posso aninhar no Excel?

Até 64 níveis no Excel 2007 e posteriores. Bem antes desse limite, a fórmula fica difícil de ler e de conferir; com mais de três ou quatro faixas, uma tabela de busca com PROCV ou PROCX aproximado é mais fácil de manter.

Por que meu SE aninhado retorna o resultado errado?

Quase sempre porque as condições estão na ordem errada. Com testes >=, comece pelo limite mais alto: se B2>=70 vem primeiro, uma nota 95 para ali e recebe o resultado da faixa do 70.

O que posso usar no lugar do SE aninhado no Excel?

A SES no Excel 2019 e posteriores (=SES(B2>=90;"A";B2>=80;"B";VERDADEIRO;"F")), a PARÂMETRO quando você compara um valor com valores fixos, e uma tabela de busca com =PROCV(B2;$E$2:$F$5;2;VERDADEIRO) para faixas numéricas.

Ilustração das linguagens de programação do Coddy

Aprenda a programar com o Coddy

COMEÇAR