domingo, 14 de setembro de 2025

💰📊 Automação Python com GUI (Tkinter): Controle de Caixa Diário 💰📊

 Resumo rápido: Neste post vamos criar uma automação em Python com Tkinter GUI que funciona como um Controle de Caixa Diário. Ela permite registrar entradas (receitas) e saídas (despesas), calcula automaticamente o saldo atual e exporta tudo para um relatório Excel. Tudo explicado de forma simples, passo a passo e com código comentado linha a linha. 🚀


Por que essa automação é útil para sua empresa? 🤔

  • Facilita o registro de movimentações financeiras.

  • Mantém o saldo do caixa sempre atualizado.

  • Substitui planilhas manuais ou controles em papel.

  • Gera relatórios organizados em Excel com um clique.


O que você terá com este projeto ✅

  1. Uma interface gráfica simples para registrar entradas e saídas.

  2. Exibição em tempo real de todas as movimentações.

  3. Cálculo automático do saldo do caixa.

  4. Exportação para Excel (caixa_diario.xlsx).


Pré-requisitos 🛠️

Antes de rodar, instale as dependências:

pip install pandas openpyxl

A biblioteca tkinter já vem instalada no Python do Windows.


Código completo (salve como controle_caixa.py) 💻

# controle_caixa.py

import tkinter as tk                          # 1: biblioteca para criar a interface
from tkinter import messagebox                # 2: mensagens de alerta/sucesso
import pandas as pd                           # 3: gerar relatórios Excel

# 4: lista que vai armazenar todas as movimentações
# Cada registro será um dicionário: {Tipo, Descrição, Valor, Saldo}
movimentacoes = []
saldo_atual = 0.0                             # 5: saldo inicial

# 6: função para adicionar movimentação (entrada ou saída)
def adicionar_movimento(tipo):
    global saldo_atual
    descricao = entry_descricao.get()         # 7: pega a descrição
    valor = entry_valor.get()                 # 8: pega o valor digitado

    if not descricao or not valor:
        messagebox.showwarning("Aviso", "Preencha todos os campos!") # 9: validação
        return

    try:
        valor = float(valor)                  # 10: converte valor em número
    except:
        messagebox.showwarning("Aviso", "Digite um valor numérico!")
        return

    if tipo == "Entrada":
        saldo_atual += valor                  # 11: soma ao saldo
    else:
        saldo_atual -= valor                  # 12: subtrai do saldo

    movimento = {
        "Tipo": tipo,
        "Descricao": descricao,
        "Valor": valor,
        "Saldo": saldo_atual
    }
    movimentacoes.append(movimento)           # 13: adiciona na lista

    atualizar_lista()                         # 14: atualiza exibição

    entry_descricao.delete(0, tk.END)         # 15: limpa campos
    entry_valor.delete(0, tk.END)

# 16: função para atualizar a lista exibida
def atualizar_lista():
    listbox.delete(0, tk.END)                 # 17: limpa lista
    for i, mov in enumerate(movimentacoes):   # 18: percorre todas as movimentações
        listbox.insert(tk.END, f"{i+1}. {mov['Tipo']} | {mov['Descricao']} | R$ {mov['Valor']:.2f} | Saldo: R$ {mov['Saldo']:.2f}")

# 19: função para exportar relatório em Excel
def exportar_excel():
    if not movimentacoes:
        messagebox.showwarning("Aviso", "Nenhuma movimentação para exportar!")
        return

    df = pd.DataFrame(movimentacoes)         # 20: cria DataFrame
    df.to_excel("caixa_diario.xlsx", index=False) # 21: salva em Excel
    messagebox.showinfo("Sucesso", "Relatório salvo como caixa_diario.xlsx")

# 22: configuração da interface gráfica
root = tk.Tk()
root.title("Controle de Caixa Diário")
root.geometry("700x500")

# 23: campos de entrada
tk.Label(root, text="Descrição:").pack(anchor="w", padx=10)
entry_descricao = tk.Entry(root, width=50)
entry_descricao.pack(anchor="w", padx=10, pady=5)

tk.Label(root, text="Valor (R$):").pack(anchor="w", padx=10)
entry_valor = tk.Entry(root, width=20)
entry_valor.pack(anchor="w", padx=10, pady=5)

# 24: botões para adicionar entrada ou saída
btn_entrada = tk.Button(root, text="Adicionar Entrada", command=lambda: adicionar_movimento("Entrada"), bg="#4CAF50", fg="white")
btn_entrada.pack(pady=5)

btn_saida = tk.Button(root, text="Adicionar Saída", command=lambda: adicionar_movimento("Saída"), bg="#F44336", fg="white")
btn_saida.pack(pady=5)

btn_exportar = tk.Button(root, text="Exportar para Excel", command=exportar_excel, bg="#2196F3", fg="white")
btn_exportar.pack(pady=5)

# 25: lista de movimentações
listbox = tk.Listbox(root, width=100, height=15)
listbox.pack(padx=10, pady=10)

root.mainloop()                              # 26: mantém a janela aberta

Explicação linha por linha (para leigos) 🧾

  • 1 a 3: importamos bibliotecas para criar a interface e gerar Excel.

  • 4 a 5: criamos a lista que guardará as movimentações e o saldo inicial.

  • 6 a 15: função que registra uma movimentação (entrada ou saída), atualiza o saldo e adiciona na lista.

  • 16 a 18: função que atualiza a lista exibida na tela.

  • 19 a 21: função que exporta todas as movimentações para um arquivo Excel.

  • 22 a 25: criamos a interface com campos de entrada, botões e lista.

  • 26: mantém a janela aberta até o usuário fechar.


Como usar ✅

  1. Salve o código no arquivo controle_caixa.py.

  2. Instale as dependências:

pip install pandas openpyxl
  1. Execute o programa:

python controle_caixa.py
  1. Na janela que abrir:

    • Digite a descrição da movimentação.

    • Informe o valor.

    • Clique em Adicionar Entrada ou Adicionar Saída.

    • Clique em Exportar para Excel para gerar caixa_diario.xlsx.


Possíveis melhorias futuras 🔧

  • Incluir campos de data e categoria.

  • Gerar gráficos de receitas x despesas.

  • Exportar relatórios mensais.

  • Conexão com banco de dados para histórico mais completo.


🚀 Conclusão

Com este Controle de Caixa Diário em Python, sua empresa pode organizar entradas e saídas de dinheiro de forma simples, prática e rápida. Em poucos cliques, você terá relatórios prontos para análise.


📢 Serviços de Contabilidade

Além de compartilhar automações, também ofereço meus serviços como contador:

  • Abertura de empresas no Simples Nacional;

  • Acompanhamento contábil mensal;

  • Planejamento tributário;

  • Orientação para profissionais de serviços.

👉 Entre em contato e leve eficiência também para a parte contábil da sua empresa! 🤝

📊 SQL no Excel – Post 5: Ordenando Resultados com ORDER BY

 Quando você faz uma consulta, os resultados podem vir sem ordem definida.

Mas muitas vezes precisamos organizar os dados, como ordenar clientes por idade ou nomes em ordem alfabética.

Para isso, usamos o comando ORDER BY. 🚀


🎯 Projeto do Dia: Listar clientes em ordem de idade

1. Cenário

Nossa tabela Clientes continua a mesma:

IDNomeCidadeIdade
1João SilvaSão Paulo32
2Maria SouzaRio de Janeiro27
3Carlos LimaBelo Horizonte41
4Ana SantosCuritiba36
5Fernanda AlvesSão Paulo29

Queremos listar os clientes em ordem crescente de idade (do mais novo para o mais velho).


2. Código VBA com SQL

No Editor do VBA (ALT + F11), insira este código em um módulo:

Sub OrdenarClientes() ' Declaração de variáveis Dim conn As Object Dim rs As Object Dim strSQL As String Dim ws As Worksheet ' Criar conexão Set conn = CreateObject("ADODB.Connection") Set rs = CreateObject("ADODB.Recordset") ' Conectar ao arquivo Excel conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0 Xml;HDR=YES"";" ' SQL com ORDER BY strSQL = "SELECT * FROM [Clientes$] ORDER BY Idade ASC" ' Executar consulta rs.Open strSQL, conn ' Criar aba de resultados Set ws = ThisWorkbook.Sheets.Add ws.Name = "Clientes_Ordenados" ' Copiar resultados ws.Range("A1").CopyFromRecordset rs ' Fechar conexões rs.Close conn.Close MsgBox "Consulta concluída com sucesso!", vbInformation End Sub

3. Explicando o Código 📝

  • ORDER BY Idade ASC → ordena pela coluna "Idade" em ordem crescente (do menor para o maior).

  • ASC → significa Ascending (crescente).

  • DESC → significa Descending (decrescente).

Se você quiser os clientes do mais velho para o mais novo, basta usar:

ORDER BY Idade DESC

4. Resultado esperado 📋

Rodando o código acima, a aba Clientes_Ordenados mostrará:

IDNomeCidadeIdade
2Maria SouzaRio de Janeiro27
5Fernanda AlvesSão Paulo29
1João SilvaSão Paulo32
4Ana SantosCuritiba36
3Carlos LimaBelo Horizonte41

📌 O que você aprendeu hoje?

✅ Como ordenar resultados em SQL.
✅ Diferença entre ASC e DESC.
✅ Como organizar consultas no Excel de forma clara.


👉 No próximo post (Post 6), vamos aprender a selecionar apenas algumas colunas específicas com SELECT coluna1, coluna2 — por exemplo, mostrar apenas Nome e Idade, ignorando o resto.


📢 Dica extra

Assim como você organiza seus dados no Excel com ORDER BY, eu também posso organizar sua vida contábil 📊.
Sou contador especializado em profissionais de serviços e posso ajudar você com:
✅ Abertura de empresas no Simples Nacional
✅ Acompanhamento contábil mensal
✅ Planejamento tributário para pagar menos impostos

💼 Entre em contato e simplifique sua contabilidade!

🎣 Post 3 – O que é Phishing e como se proteger

Um dos golpes mais antigos e ainda muito eficazes no mundo digital é o phishing. Ele não depende apenas de tecnologia, mas principalmente de enganar pessoas para que elas entreguem suas informações sem perceber.


📌 O que é Phishing?

  • A palavra vem de fishing (pescar, em inglês), porque o criminoso “lança uma isca” para tentar fisgar a vítima.

  • Essa “isca” pode ser um e-mail, SMS, mensagem em redes sociais ou até um site falso.

  • O objetivo é levar você a clicar em um link malicioso ou fornecer dados confidenciais.

Exemplo clássico: um e-mail que parece ser do seu banco pedindo para “atualizar a senha imediatamente”.


⚠️ Como reconhecer tentativas de Phishing

  1. E-mails ou mensagens alarmistas: “Sua conta será bloqueada em 24h!”

  2. Erros de português ou formatação estranha 📄

  3. Links estranhos: quando passa o mouse em cima, o endereço não é o do site oficial 🌐

  4. Pedidos de informações sigilosas: bancos nunca pedem senha completa por e-mail ou SMS 🔑

  5. Ofertas boas demais para ser verdade: prêmios, promoções ou heranças inesperadas 💰


🎭 Tipos de Phishing

  • E-mail Phishing: mensagens que imitam empresas reais.

  • Spear Phishing: ataque direcionado a uma pessoa específica (ex.: funcionário de uma empresa).

  • Smishing: phishing via SMS 📱.

  • Vishing: phishing por ligação telefônica ☎️.

  • Clone Phishing: quando clonam um e-mail real e trocam o anexo ou link.


🛡️ Como se proteger

✔️ Verifique o remetente de e-mails suspeitos
✔️ Passe o mouse sobre links para conferir o endereço real
✔️ Nunca clique em anexos ou links inesperados
✔️ Use autenticação em duas etapas (2FA) sempre que possível
✔️ Mantenha antivírus ativo para detectar sites maliciosos
✔️ Desconfie de urgências exageradas ou pedidos de dinheiro


🔍 Exemplo prático

Você recebe um e-mail:
“⚠️ Sua conta do Banco XPTO foi bloqueada! Clique aqui e faça login para reativar.”

➡️ Se clicar, será levado para um site falso que imita o do banco.
➡️ Ao digitar seu usuário e senha, os dados vão direto para os criminosos.


📜 Conclusão

Phishing é perigoso porque não depende de falhas do computador, mas sim da confiança do usuário. Quanto mais informado você estiver, menor será a chance de cair nesse tipo de golpe.

🔜 No próximo post (4), vamos falar sobre Engenharia Social – a arte dos criminosos em manipular pessoas para conseguir acesso a informações.

📊 SQL no Excel – Post 4: Usando AND e OR para Combinar Condições

 Na vida real, dificilmente você filtra os dados com apenas um critério.

Às vezes você quer clientes de São Paulo e com idade acima de 30, ou clientes de São Paulo ou do Rio de Janeiro.

Isso é possível com AND e OR. 🚀


🎯 Projeto do Dia: Filtrar clientes de São Paulo com mais de 30 anos

1. Cenário

Continuamos com nossa tabela Clientes:

IDNomeCidadeIdade
1João SilvaSão Paulo32
2Maria SouzaRio de Janeiro27
3Carlos LimaBelo Horizonte41
4Ana SantosCuritiba36
5Fernanda AlvesSão Paulo29

Queremos somente os clientes de São Paulo que tenham mais de 30 anos.


2. Código VBA com SQL

No Editor do VBA (ALT + F11), cole o seguinte código em um módulo:

Sub FiltrarClientesAnd() ' Declaração de variáveis Dim conn As Object Dim rs As Object Dim strSQL As String Dim ws As Worksheet ' Criar conexão Set conn = CreateObject("ADODB.Connection") Set rs = CreateObject("ADODB.Recordset") ' Conectar ao arquivo Excel conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0 Xml;HDR=YES"";" ' SQL com duas condições usando AND strSQL = "SELECT * FROM [Clientes$] WHERE Cidade = 'São Paulo' AND Idade > 30" ' Executar consulta rs.Open strSQL, conn ' Criar aba de resultados Set ws = ThisWorkbook.Sheets.Add ws.Name = "SP_Maior30" ' Copiar resultados ws.Range("A1").CopyFromRecordset rs ' Fechar conexões rs.Close conn.Close MsgBox "Consulta concluída com sucesso!", vbInformation End Sub

3. Explicando o Código 📝

  • AND → exige que todas as condições sejam verdadeiras.
    Exemplo: Cidade = 'São Paulo' E Idade > 30.

  • OR → basta que uma condição seja verdadeira.
    Exemplo: Cidade = 'São Paulo' OU Cidade = 'Rio de Janeiro'.


4. Resultado esperado 📋

Rodando o código acima, a aba SP_Maior30 mostrará:

IDNomeCidadeIdade
1João SilvaSão Paulo32

Somente João aparece, porque ele é de São Paulo e tem mais de 30 anos.

Se trocássemos o AND por OR, apareceriam todos os clientes de São Paulo ou todos com idade maior que 30 (João, Carlos e Ana, além da Fernanda por ser de São Paulo).


📌 O que você aprendeu hoje?

✅ Como combinar condições no WHERE.
✅ Diferença entre AND e OR.
✅ Como criar filtros avançados para consultas no Excel.


👉 No próximo post (Post 5), vamos aprender a ordenar os resultados com ORDER BY – por exemplo, listar os clientes por idade em ordem crescente ou decrescente.


📢 Dica extra

Assim como você organiza seus dados no Excel com SQL, eu também posso organizar sua vida contábil.
Sou contador especializado em profissionais de serviços e posso ajudar você com:
✅ Abertura de empresas no Simples Nacional
✅ Acompanhamento contábil mensal
✅ Planejamento tributário para pagar menos impostos

💼 Fale comigo e simplifique sua contabilidade!

🦠 Post 2 – Diferença entre Vírus, Malware, Trojans e Ransomware

Quando falamos em ameaças digitais, muitos confundem os termos “vírus”, “malware” e outros nomes técnicos. Entender essas diferenças é o primeiro passo para reconhecer o que pode atacar seu computador ou celular.


📌 O que é Malware?

  • A palavra malware vem de malicious software (software malicioso).

  • É o termo guarda-chuva que engloba todos os tipos de programas criados para prejudicar você, roubar dados ou danificar seu sistema.

  • Dentro da categoria malware, estão: vírus, trojans, worms, ransomwares, spyware e outros.

👉 Ou seja: todo vírus é um malware, mas nem todo malware é um vírus.


🧬 O que é um Vírus?

  • Inspirado nos vírus biológicos, ele se espalha ao se anexar a arquivos ou programas.

  • Só funciona quando o usuário abre o arquivo infectado.

  • Exemplo: um arquivo de música, filme ou documento baixado em site duvidoso que, ao ser aberto, libera o vírus.

⚠️ Sintomas comuns:

  • Computador mais lento do que o normal 🐌

  • Programas travando ou fechando sozinhos

  • Mensagens de erro estranhas


🕵️‍♂️ O que é um Trojan (Cavalo de Troia)?

  • Nome inspirado na mitologia grega: entra disfarçado de algo inofensivo.

  • Parece ser um programa útil (um jogo, uma calculadora, um app grátis), mas abre uma “porta secreta” para criminosos acessarem seu PC ou celular.

⚠️ Perigos:

  • Roubo de senhas e dados bancários 💳

  • Controle remoto do computador sem que você perceba


🔒 O que é um Ransomware?

  • Um dos tipos mais perigosos de malware atualmente.

  • Ele sequestra seus arquivos, criptografa documentos, fotos e pastas, e só libera mediante pagamento de resgate (geralmente em criptomoedas).

⚠️ Exemplos famosos:

  • WannaCry (2017): infectou hospitais, empresas e governos em mais de 150 países.

  • Locky e Petya: variantes que causaram prejuízos bilionários.

💡 Prevenção: manter backup atualizado em local seguro e nunca confiar em anexos desconhecidos.


📊 Resumindo em uma tabela

TipoComo funcionaPerigo principalExemplo
MalwareTermo geralVáriosTodos os abaixo
VírusSe anexa a arquivosDanos e lentidãoArquivo infectado
TrojanSe disfarça de app útilRoubo de dados, invasãoJogo ou programa falso
RansomwareSequestra arquivosExtorsão financeiraWannaCry

📜 Conclusão

Cada tipo de ameaça digital tem seu modo de agir, mas todas têm algo em comum: dependem de descuido do usuário.

  • Evitar downloads de sites não confiáveis

  • Manter sistemas atualizados

  • Usar antivírus ativo

são passos simples que reduzem muito os riscos.

🔜 No próximo post (3), vamos falar sobre ataques de phishing – o golpe digital mais comum e perigoso atualmente.

sexta-feira, 12 de setembro de 2025

🎮 Apostila de Pygame para Leigos – Capítulo 2 Dando Vida à Tela: Movimento com o Teclado

 Parabéns, gênio! 🏆

Você já tem um jogo azul incrível (sim, azul é a cor do sucesso 💙). Agora chegou a hora de dar o próximo passo: colocar movimento. Afinal, jogo sem movimento é só uma pintura digital – bonita, mas chata. 😅

Hoje vamos aprender a:
✅ Desenhar um quadrado (nosso "herói").
✅ Movê-lo com as setas do teclado.
✅ Nos sentir programadores de verdade!


🖥️ O Código do Movimento

Crie um arquivo chamado capitulo2.py e cole o código abaixo:

# Importando o pygame import pygame # Iniciando o pygame pygame.init() # Criando a janela do jogo tela = pygame.display.set_mode((800, 600)) pygame.display.set_caption("Capítulo 2 - Movimento com Teclado 🎮") # Definindo cores (R, G, B) cor_fundo = (30, 30, 30) # Cinza escuro de fundo cor_jogador = (255, 0, 0) # Vermelho para o jogador # Criando o jogador (um quadrado) jogador_x = 400 # Posição inicial X jogador_y = 300 # Posição inicial Y largura = 50 # Largura do quadrado altura = 50 # Altura do quadrado velocidade = 5 # Velocidade do movimento # Loop principal do jogo rodando = True while rodando: # Analisa eventos (como fechar o jogo) for evento in pygame.event.get(): if evento.type == pygame.QUIT: rodando = False # Captura as teclas pressionadas teclas = pygame.key.get_pressed() if teclas[pygame.K_LEFT]: jogador_x -= velocidade # Move para a esquerda if teclas[pygame.K_RIGHT]: jogador_x += velocidade # Move para a direita if teclas[pygame.K_UP]: jogador_y -= velocidade # Move para cima if teclas[pygame.K_DOWN]: jogador_y += velocidade # Move para baixo # Preenche a tela com a cor do fundo tela.fill(cor_fundo) # Desenha o jogador (um retângulo) pygame.draw.rect(tela, cor_jogador, (jogador_x, jogador_y, largura, altura)) # Atualiza a tela pygame.display.update() # Encerra o jogo pygame.quit()

🔎 Explicando linha por linha (modo vovó 👵)

  • jogador_x = 400 e jogador_y = 300 → posição inicial do nosso herói na tela.

  • velocidade = 5 → número de pixels que o quadrado anda por vez (quanto maior, mais rápido corre).

  • pygame.key.get_pressed() → verifica quais teclas estão sendo pressionadas.

  • if teclas[pygame.K_LEFT]: → se a seta da esquerda está apertada, move para a esquerda.

  • pygame.draw.rect() → desenha o quadrado do jogador na tela.

  • O resto é igual ao capítulo 1: loop, tela, atualização.


🎉 O que vai acontecer?

  • Um quadrado vermelho aparecerá no centro da tela.

  • Com as setas do teclado, você poderá mover o quadrado para todos os lados.

  • Sim, é simples. Mas pense comigo: o Mario também começou sendo só um quadradinho na fase de testes.

Você está recriando a história dos games! 🔥


💡 Exercício Divertido

  1. Troque o quadrado por um retângulo (tipo uma nave espacial).

  2. Aumente a velocidade para 20 e veja o "quadrado tunado" voar.

  3. Faça o jogador mudar de cor quando for para a esquerda ou para a direita.


🎯 Conclusão do Capítulo

Hoje você aprendeu:
✅ Capturar teclas do teclado.
✅ Mover um objeto pela tela.
✅ Sentir o poder absoluto de controlar pixels com os dedos.

Agora você já não é mais apenas um iniciante, mas um aprendiz de feiticeiro digital. 🧙‍♂️


👉 No Capítulo 3 vamos adicionar limites à tela (para o quadrado não sair voando pro infinito e virar astronauta 🚀).


📣 E não esqueça: assim como no jogo precisamos de controle e organização, na vida real também precisamos. Se você precisa abrir uma empresa no Simples Nacional, organizar sua contabilidade ou planejar sua tributação, conte comigo. Eu sou contador especializado em profissionais de serviços e posso te ajudar a economizar muito! 😉

📊 SQL no Excel – Post 3: Filtrando Clientes por Idade (WHERE com Números)

No mundo real, filtrar informações por valores numéricos é essencial.

Exemplos: clientes com idade acima de 30, produtos com preço menor que 100 ou notas maiores que 7.

Hoje, vamos usar WHERE com operadores numéricos para aprender isso no Excel. 🚀


🎯 Projeto do Dia: Listar clientes com idade maior que 30 anos

1. Cenário

Continuamos com a tabela Clientes:

IDNomeCidadeIdade
1João SilvaSão Paulo32
2Maria SouzaRio de Janeiro27
3Carlos LimaBelo Horizonte41
4Ana SantosCuritiba36
5Fernanda AlvesSão Paulo29

Nosso objetivo será listar apenas os clientes com idade maior que 30.


2. Código VBA com SQL

No Editor do VBA (ALT + F11), insira este código:

Sub FiltrarClientesIdade() ' Declaração de variáveis Dim conn As Object Dim rs As Object Dim strSQL As String Dim ws As Worksheet ' Criar conexão Set conn = CreateObject("ADODB.Connection") Set rs = CreateObject("ADODB.Recordset") ' Conectar ao arquivo Excel conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0 Xml;HDR=YES"";" ' SQL com filtro numérico strSQL = "SELECT * FROM [Clientes$] WHERE Idade > 30" ' Executar consulta rs.Open strSQL, conn ' Criar aba de resultados Set ws = ThisWorkbook.Sheets.Add ws.Name = "Clientes_Maior30" ' Copiar resultados ws.Range("A1").CopyFromRecordset rs ' Fechar conexões rs.Close conn.Close MsgBox "Consulta concluída com sucesso!", vbInformation End Sub

3. Explicando o Código 📝

  • WHERE Idade > 30 → significa: "traga apenas os registros em que a coluna Idade seja maior que 30".

  • Operadores possíveis:

    • = → igual

    • <> → diferente

    • > → maior que

    • < → menor que

    • >= → maior ou igual

    • <= → menor ou igual


4. Resultado esperado 📋

A nova aba chamada Clientes_Maior30 mostrará:

IDNomeCidadeIdade
1João SilvaSão Paulo32
3Carlos LimaBelo Horizonte41
4Ana SantosCuritiba36

📌 O que você aprendeu hoje?

✅ Como usar WHERE com números.
✅ Principais operadores matemáticos em SQL.
✅ Como filtrar clientes com base em um critério numérico no Excel.


👉 No próximo post (Post 4), vamos combinar mais de uma condição no WHERE com AND / OR – por exemplo, clientes com idade > 30 e da cidade de São Paulo.


📢 Dica extra

Assim como você organiza seus dados no Excel, eu também posso organizar sua vida financeira.
Sou contador especializado em profissionais de serviços e posso ajudar você com:
✅ Abertura de empresas no Simples Nacional
✅ Acompanhamento contábil mensal
✅ Planejamento tributário para reduzir impostos

💼 Entre em contato e vamos simplificar sua contabilidade!