=SE(B2>=50;"Pass";"Fail") verifica se a nota em B2 é 50 ou mais. Se for, a célula mostra Pass; se não for, mostra Fail. A função SE se chama IF em inglês, e a tabela mostra a fórmula assim: =IF(B2>=50,"Pass","Fail").
| A | B | C | |
|---|---|---|---|
| 1 | Student | Score | Result |
| 2 | Ana | 72 | Pass |
| 3 | Ben | 45 | Fail |
| 4 | Chloe | 50 | Pass |
| 5 | Dan | 38 | Fail |
| 6 | Eve | 91 | Pass |
=SE(B2>=50;"Pass";"Fail")Clique em C2 para ver a fórmula e depois mude a nota de Ben em B3 para 60: o resultado dele vira Pass. Chloe tem exatamente 50, e >= significa "50 ou mais", então ela passa. Com >, ela seria reprovada.
Sintaxe da função SE
=IF(logical_test, value_if_true, value_if_false)
logical_testé qualquer comparação ou fórmula que dê VERDADEIRO ou FALSO:B2>=50,C2="Paid",D2<HOJE().value_if_trueé o que a célula mostra quando o teste é VERDADEIRO.value_if_falseé o que ela mostra nos outros casos. É opcional: deixe de fora e a célula mostra FALSO quando o teste falha. Mantenha o ponto e vírgula, mas deixe o argumento vazio,=SE(B2>=50;"Pass";), e ela mostra 0.
Cada resultado pode ser texto entre aspas duplas ("Pass"), um número (0), uma referência de célula (C2) ou outra fórmula. Texto sem aspas é lido como um nome, então =SE(B2>=50;Pass;Fail) dá #NOME? (#NAME? em inglês, como a tabela mostra os erros).
Os operadores de comparação são = (igual), <> (diferente), >, <, >= e <=. No Excel em português, os argumentos são separados por ponto e vírgula, =SE(B2>=50;"Pass";"Fail"), e a tabela desta página também aceita as fórmulas escritas assim. O Google Planilhas usa o mesmo SE, com os mesmos argumentos.
SE com texto
Um teste pode comparar uma célula com um texto. O texto vai entre aspas duplas, e a comparação ignora maiúsculas e minúsculas.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Order | Region | Free delivery | Exact case |
| 2 | 1001 | North | Yes | Yes |
| 3 | 1002 | South | No | No |
| 4 | 1003 | north | Yes | No |
| 5 | 1004 | East | No | No |
| 6 | 1005 | NORTH | Yes | No |
=SE(B2="North";"Yes";"No")A coluna C diz Yes para North, north e NORTH, porque o = não liga para maiúsculas. Quando elas importam (códigos de produto, senhas), teste com EXATO (EXACT em inglês), como na coluna D: só a linha escrita exatamente North recebe Yes.
Para testar qualquer coisa diferente de um valor, use <>: =SE(B2<>"North";"Standard";"Free"). Para testar se uma célula contém uma palavra em algum lugar do texto, o SE precisa da LOCALIZAR, que aparece na página das funções É.
SE com um cálculo
Os resultados do SE não precisam ser texto. Aqui cada vendedor ganha um bônus de 5% sobre vendas acima de 1.000, e nada abaixo disso:
| A | B | C | |
|---|---|---|---|
| 1 | Rep | Sales | Bonus |
| 2 | Ana | $1,400 | $70 |
| 3 | Ben | $800 | $0 |
| 4 | Chloe | $1,000 | $0 |
| 5 | Dan | $2,600 | $130 |
| 6 | Eve | $1,150 | $58 |
=SE(B2>1000;B2*5%;0)Ana recebe $70 (5% de 1.400) e Ben recebe $0. Chloe vendeu exatamente 1.000, e o teste é "maior que 1.000", então ela também recebe $0. Mude a fórmula de C2 para =SE(B2>=1000;B2*5%;0) e o bônus dela vira $50.
O teste também pode comparar duas células, =SE(B2>C2;"Over target";"Under target"), ou uma célula com um cálculo, =SE(B2>MÉDIA($B$2:$B$6);"Above average";"").
SE a célula estiver vazia
B2="" é VERDADEIRO quando B2 está vazia. Use isso para pular linhas que ainda não têm dados, para a coluna de fórmulas não se encher de zeros:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Item | Qty | Price | Total | Status |
| 2 | Pens | 10 | $1.50 | $15.00 | Ordered |
| 3 | Paper | $4.20 | Not ordered | ||
| 4 | Ink | 2 | $18.00 | $36.00 | Ordered |
| 5 | Tape | $2.80 | Not ordered | ||
| 6 | Clips | 5 | $0.90 | $4.50 | Ordered |
=SE(B2="";"";B2*C2)"" (duas aspas duplas sem nada entre elas) é um texto vazio, então Paper e Tape não mostram nada na coluna D. Digite uma quantidade em B3 e o total aparece. A coluna E testa o contrário com <>"", "não está vazia".
Uma célula com ="" parece vazia, mas não está em branco para a ÉCÉL.VAZIA (ISBLANK em inglês). A diferença importa quando outras fórmulas leem a coluna; por exemplo, a CONT.VALORES conta essa célula.
SE com duas condições
O SE aceita um teste. Para exigir duas coisas ao mesmo tempo, coloque E (AND em inglês) dentro do teste; para aceitar uma de duas, use OU (OR):
=IF(AND(B2>=50,C2>=50),"Pass","Fail")
=IF(OR(B2="North",B2="South"),"Zone 1","Zone 2")
No Excel em português: =SE(E(B2>=50;C2>=50);"Pass";"Fail") e =SE(OU(B2="North";B2="South");"Zone 1";"Zone 2"). As duas aparecem com exemplos editáveis na página de E e OU. Para três ou mais resultados possíveis (A, B, C, F), coloque um SE dentro do outro (SE aninhado) ou use a SES.
Prática: repor ou não
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Item | Stock | Minimum | Status |
| 2 | Pens | 12 | 20 | |
| 3 | Paper | 30 | 25 | |
| 4 | Tape | 15 | 12 | |
| 5 | Ink | 8 | 10 |
Sua vez: Em D2, mostre "Reorder" quando o estoque em B2 estiver abaixo do mínimo em C2; caso contrário, mostre "OK". A fórmula é arrastada até D5.
| A | B | C | |
|---|---|---|---|
| 1 | Rep | Sales | Bonus |
| 2 | Ana | $1,250 | |
| 3 | Ben | $600 | |
| 4 | Chloe | $2,300 |
Sua vez: Em C2, retorne um bônus de 10% das vendas em B2 quando as vendas passarem de 1000, e 0 nos outros casos. A fórmula é arrastada até C4.
Erros comuns com o SE
Aspas em volta de um número. =SE(B2>"50";"High";"Low") compara B2 com o texto "50", não com o número 50. O Excel coloca todo número abaixo de qualquer texto, então o teste é FALSO para qualquer número em B2 e a fórmula sempre diz Low. Escreva números sem aspas: B2>50.
Usar ==. O teste de igualdade do Excel é um = só. Digitar =SE(B2=="Paid";"Yes";"No") faz o Excel recusar a fórmula com a mensagem "Há um problema com esta fórmula".
Números armazenados como texto. Se B2 tem '12 (texto que parece número, comum em importações), B2>=50 compara texto com número. Texto sempre conta como maior, então o teste é VERDADEIRO e o 12 passa. Converta a coluna antes; a página de texto para número mostra como.
Esperar VERDADEIRO como texto. =SE(B2>=50;"VERDADEIRO";"FALSO") retorna as palavras como texto, que outras fórmulas não conseguem usar como valores lógicos. Se você quer VERDADEIRO e FALSO, nem precisa do SE: =B2>=50 retorna esses valores direto.
Faltar parênteses no fim. Cada SE abre um parêntese e precisa do próprio ). Enquanto você edita, o Excel mostra cada par de parênteses com uma cor diferente, o que deixa fácil achar o que está faltando.
Perguntas frequentes
Como escrevo uma fórmula SE ENTÃO no Excel?
Escreva =SE(teste;valor_se_verdadeiro;valor_se_falso). Por exemplo, =SE(B2>=50;"Pass";"Fail") mostra Pass quando B2 é 50 ou mais e Fail nos outros casos. Resultados em texto vão entre aspas duplas; números e referências de célula, não.
Por que minha fórmula SE retorna FALSO?
Você deixou de fora o terceiro argumento. =SE(B2>=50;"Pass") retorna FALSO quando o teste falha. Coloque um valor para esse caso, por exemplo "" para mostrar uma célula vazia: =SE(B2>=50;"Pass";"").
A função SE diferencia maiúsculas de minúsculas?
Não. =SE(B2="North";"Yes";"No") retorna Yes para North, north e NORTH. Para exigir as mesmas maiúsculas, use EXATO no teste: =SE(EXATO(B2;"North");"Yes";"No").
Como faço o SE deixar a célula em branco?
Retorne um texto vazio, duas aspas duplas: =SE(B2="";"";B2*C2) não mostra nada quando B2 está vazia e mostra o produto nos outros casos. A célula ainda tem uma fórmula, então ÉCÉL.VAZIA nela retorna FALSO.
O SE pode verificar mais de uma condição?
Pode. Coloque E ou OU dentro do teste, =SE(E(B2>=50;C2>=50);"Pass";"Fail"), ou coloque um SE dentro do outro para mais de dois resultados. No Excel 2019 e posteriores, a SES trata vários resultados sem aninhar.