O que são funções condicionais e por que elas importam em controles
Funções condicionais permitem que a planilha tome decisões com base em testes lógicos, retornando resultados diferentes conforme a situação. Em controles e relatórios, isso é útil para padronizar classificações, gerar status (em dia/atrasado), sinalizar metas e criar alertas automáticos. A base é sempre a mesma: você define uma condição (um teste) e o Calc devolve um valor quando a condição é verdadeira e outro quando é falsa.
Testes lógicos (Verdadeiro/Falso)
Um teste lógico é uma expressão que resulta em VERDADEIRO ou FALSO, como B2>0, C2="Pago", D2<=HOJE(). Esses testes são combinados com funções como SE, E, OU e NÃO.
- Operadores comuns:
=,<>(diferente),>,<,>=,<= - Texto deve estar entre aspas:
"Pago" - Datas funcionam como números; compare com
HOJE()para status dinâmico
SE: a função condicional principal
SE avalia uma condição e retorna um valor se for verdadeira e outro se for falsa.
SE(teste_lógico; valor_se_verdadeiro; valor_se_falso)Exemplo: alerta simples de valor
Se a despesa for maior que 1000, marcar como “ALTO”, senão “OK”:
=SE(C2>1000; "ALTO"; "OK")Dica de padronização
Para filtros e relatórios, use mensagens curtas e consistentes (ex.: “EM DIA”, “ATRASADO”, “PAGO”), evitando variações como “Atrasado!” ou “atrasado”.
- Ouça o áudio com a tela desligada
- Ganhe Certificado após a conclusão
- + de 5000 cursos para você explorar!
Baixar o aplicativo
E, OU e NÃO: combinando condições
E: todas as condições precisam ser verdadeiras
E(condição1; condição2; ...)Exemplo: marcar “APROVAR” somente se o valor for até 500 e a categoria for “Escritório”:
=SE(E(C2<=500; B2="Escritório"); "APROVAR"; "REVISAR")OU: basta uma condição ser verdadeira
OU(condição1; condição2; ...)Exemplo: alertar se a despesa é “Viagem” ou se o valor é maior que 2000:
=SE(OU(B2="Viagem"; C2>2000); "ALERTA"; "OK")NÃO: inverte o resultado lógico
NÃO(condição)Exemplo: se NÃO estiver pago, retornar “PENDENTE”:
=SE(NÃO(D2="Pago"); "PENDENTE"; "PAGO")Observação: muitas vezes você pode escrever a condição diretamente (por exemplo, D2<>"Pago"), mas NÃO ajuda quando a condição já está pronta ou é mais complexa.
SES (quando aplicável): múltiplas condições sem “SE” aninhado
Quando você precisa testar várias faixas ou cenários, é comum criar “SE dentro de SE” (SE aninhado). Em versões que suportam SES, você pode escrever de forma mais legível: define pares de (condição; resultado) em sequência.
SES(condição1; resultado1; condição2; resultado2; ...)Exemplo: classificação de despesas por faixa de valor
Classificar o valor (C2) em “BAIXA”, “MÉDIA” e “ALTA”:
=SES(C2<=200; "BAIXA"; C2<=1000; "MÉDIA"; C2>1000; "ALTA")Se SES não estiver disponível no seu Calc, use SE aninhado:
=SE(C2<=200; "BAIXA"; SE(C2<=1000; "MÉDIA"; "ALTA"))SEERRO: planilhas mais robustas (evitando #DIV/0!, #N/D etc.)
SEERRO captura erros de uma expressão e substitui por um valor padrão. Isso é essencial em relatórios, para evitar que um erro “quebre” totais, gráficos ou filtros.
SEERRO(expressão; valor_se_erro)Exemplo: custo médio sem erro de divisão por zero
Se você calcula Total/Quantidade e a quantidade pode estar vazia ou zero:
=SEERRO(E2/F2; 0)Em vez de 0, você pode retornar texto padronizado:
=SEERRO(E2/F2; "SEM DADOS")Boas práticas com SEERRO
- Use
SEERROpara tratar erros esperados (ex.: divisão por zero, busca sem resultado). - Evite “esconder” erros que indicam problema de preenchimento; quando fizer sentido, retorne uma mensagem como
"REVISAR"para facilitar auditoria.
Cenários práticos aplicados a controles e relatórios
1) Classificação de despesas (categoria e valor)
Suponha colunas: A:Data, B:Categoria, C:Valor. Você quer uma coluna D:Classe com regras:
- Se Categoria = “Impostos” OU Valor > 3000 → “CRÍTICA”
- Senão, se Valor > 1000 → “ALTA”
- Senão → “NORMAL”
=SE(OU(B2="Impostos"; C2>3000); "CRÍTICA"; SE(C2>1000; "ALTA"; "NORMAL"))2) Status de pagamento (em dia/atrasado/pago)
Estrutura sugerida: A:Fornecedor, B:Vencimento, C:Valor, D:Data_Pagto. Regras:
- Se
Dnão estiver vazia → “PAGO” - Senão, se
B< HOJE() → “ATRASADO” - Senão → “EM DIA”
=SE(D2<>""; "PAGO"; SE(B2<HOJE(); "ATRASADO"; "EM DIA"))Observação: deixar Data_Pagto vazia para pendências facilita a lógica e o filtro.
3) Metas atingidas (atingiu/não atingiu e alerta)
Estrutura: A:Vendedor, B:Meta, C:Realizado. Regras:
- Se Realizado >= Meta → “ATINGIU”
- Senão → “NÃO ATINGIU”
=SE(C2>=B2; "ATINGIU"; "NÃO ATINGIU")Para um alerta adicional quando estiver muito abaixo (ex.: abaixo de 70% da meta):
=SE(C2>=B2; "ATINGIU"; SE(C2<0,7*B2; "ALERTA"; "EM RISCO"))Atividade prática: criar uma coluna “Status” padronizada para filtros e relatórios
Objetivo: criar uma coluna Status com mensagens consistentes, fáceis de filtrar e usar em tabelas dinâmicas/relatórios.
Dados do cenário
Monte (ou adapte) uma tabela com estas colunas:
| Coluna | Nome | Exemplo |
|---|---|---|
| A | Documento | NF-1023 |
| B | Vencimento | 15/02/2026 |
| C | Valor | 1250,00 |
| D | Data_Pagto | (vazio) ou 10/02/2026 |
| E | Status | (a calcular) |
Regras claras (padrão de mensagens)
- Se
Data_Pagtopreenchida → “PAGO” - Se
Data_Pagtovazia eVencimento< HOJE() → “ATRASADO” - Se
Data_Pagtovazia eVencimentoentre HOJE() e HOJE()+7 → “VENCE EM 7 DIAS” - Senão → “EM DIA”
Passo a passo
Na célula
E1, digite o cabeçalhoStatus.Na célula
E2, insira a fórmula abaixo:=SE(D2<>""; "PAGO"; SE(B2<HOJE(); "ATRASADO"; SE(B2<=HOJE()+7; "VENCE EM 7 DIAS"; "EM DIA")))Copie a fórmula para baixo (arrastando a alça de preenchimento) para todas as linhas com dados.
Teste com exemplos: deixe
Data_Pagtovazia e altereVencimentopara datas antes e depois de hoje para ver o status mudar.Crie um filtro na tabela e filtre por
Statuspara listar apenas “ATRASADO” ou “VENCE EM 7 DIAS”.
Tratamento de erros no Status (opcional, recomendado)
Se houver risco de Vencimento estar vazio ou inválido, envolva a lógica com SEERRO para padronizar a saída:
=SEERRO(SE(D2<>""; "PAGO"; SE(B2<HOJE(); "ATRASADO"; SE(B2<=HOJE()+7; "VENCE EM 7 DIAS"; "EM DIA"))); "REVISAR")Assim, qualquer linha com problema de data retorna “REVISAR”, facilitando correção e auditoria.
Variações úteis para relatórios
- Status numérico para ordenação (ex.: 1=ATRASADO, 2=VENCE EM 7 DIAS, 3=EM DIA, 4=PAGO) e, em outra coluna, o texto. Isso ajuda a ordenar por prioridade.
- Combinar valor com status: por exemplo, alertar “ATRASADO (ALTO VALOR)” quando
Valor> 5000 usandoEdentro do ramo de atrasado.