Xlsx

by rafaelramosdf

skill

Criação, edição e análise abrangente de planilhas com suporte para fórmulas, formatação, análise de dados e visualização. Quando o Claude precisar trabalhar com planilhas (.xlsx, .xlsm, .csv, .tsv, etc) para: (1) Criar novas planilhas com fórmulas e formatação, (2) Ler ou analisar dados, (3) Modificar planilhas existentes preservando fórmulas, (4) Análise de dados e visualização em planilhas, ou (5) Recalcular fórmulas

Skill Details

Repository Files

3 files in this skill directory


name: xlsx description: "Criação, edição e análise abrangente de planilhas com suporte para fórmulas, formatação, análise de dados e visualização. Quando o Claude precisar trabalhar com planilhas (.xlsx, .xlsm, .csv, .tsv, etc) para: (1) Criar novas planilhas com fórmulas e formatação, (2) Ler ou analisar dados, (3) Modificar planilhas existentes preservando fórmulas, (4) Análise de dados e visualização em planilhas, ou (5) Recalcular fórmulas" license: Proprietário. LICENSE.txt tem termos completos

Requisitos para Saídas

Todos os arquivos Excel

Zero Erros de Fórmula

  • Todo modelo Excel DEVE ser entregue com ZERO erros de fórmula (#REF!, #DIV/0!, #VALUE!, #N/A, #NAME?)

Preservar Modelos Existentes (ao atualizar modelos)

  • Estude e combine EXATAMENTE o formato, estilo e convenções existentes ao modificar arquivos
  • Nunca imponha formatação padronizada em arquivos com padrões estabelecidos
  • As convenções de modelo existentes SEMPRE substituem estas diretrizes

Modelos financeiros

Padrões de Codificação por Cores

A menos que declarado de outra forma pelo usuário ou modelo existente

Convenções de Cores Padrão da Indústria

  • Texto azul (RGB: 0,0,255): Entradas codificadas e números que os usuários mudarão para cenários
  • Texto preto (RGB: 0,0,0): TODAS as fórmulas e cálculos
  • Texto verde (RGB: 0,128,0): Links puxando de outras planilhas dentro da mesma pasta de trabalho
  • Texto vermelho (RGB: 255,0,0): Links externos para outros arquivos
  • Fundo amarelo (RGB: 255,255,0): Premissas principais precisando de atenção ou células que precisam ser atualizadas

Padrões de Formatação de Números

Regras de Formato Necessárias

  • Anos: Formate como cadeias de texto (por exemplo, "2024" não "2.024")
  • Moeda: Use o formato $#.##0; SEMPRE especifique unidades nos cabeçalhos ("Receita ($mm)")
  • Zeros: Use formatação de número para tornar todos os zeros "-", incluindo porcentagens (por exemplo, "$#.##0;($#.##0);-")
  • Porcentagens: Padrão para formato 0,0% (uma casa decimal)
  • Múltiplos: Formate como 0,0x para múltiplos de avaliação (EV/EBITDA, P/L)
  • Números negativos: Use parênteses (123) não menos -123

Regras de Construção de Fórmulas

Colocação de Premissas

  • Coloque TODAS as premissas (taxas de crescimento, margens, múltiplos, etc.) em células de premissa separadas
  • Use referências de célula em vez de valores codificados em fórmulas
  • Exemplo: Use =B5*(1+$B$6) em vez de =B5*1.05

Prevenção de Erro de Fórmula

  • Verifique se todas as referências de célula estão corretas
  • Verifique se há erros off-by-one em intervalos
  • Garanta fórmulas consistentes em todos os períodos de projeção
  • Teste com casos extremos (valores zero, números negativos)
  • Verifique se não há referências circulares não intencionais

Requisitos de Documentação para Hardcodes

  • Comente ou coloque em células ao lado (se fim da tabela). Formato: "Fonte: [Sistema/Documento], [Data], [Referência Específica], [URL se aplicável]"
  • Exemplos:
    • "Fonte: Empresa 10-K, AF2024, Página 45, Nota de Receita, [URL SEC EDGAR]"
    • "Fonte: Empresa 10-Q, T2 2025, Exposição 99.1, [URL SEC EDGAR]"
    • "Fonte: Terminal Bloomberg, 15/08/2025, AAPL US Equity"
    • "Fonte: FactSet, 20/08/2025, Tela de Estimativas de Consenso"

XLSX: criação, edição e análise

Visão Geral

Um usuário pode pedir para você criar, editar ou analisar o conteúdo de um arquivo .xlsx. Você tem diferentes ferramentas e fluxos de trabalho disponíveis para diferentes tarefas.

Requisitos Importantes

LibreOffice Necessário para Recálculo de Fórmula: Você pode assumir que o LibreOffice está instalado para recalcular valores de fórmula usando o script recalc.py. O script configura automaticamente o LibreOffice na primeira execução.

Lendo e analisando dados

Análise de dados com pandas

Para análise de dados, visualização e operações básicas, use pandas, que fornece recursos poderosos de manipulação de dados:

import pandas as pd

# Ler Excel
df = pd.read_excel('file.xlsx')  # Padrão: primeira planilha
all_sheets = pd.read_excel('file.xlsx', sheet_name=None)  # Todas as planilhas como dict

# Analisar
df.head()      # Visualizar dados
df.info()      # Info da coluna
df.describe()  # Estatísticas

# Escrever Excel
df.to_excel('output.xlsx', index=False)

Fluxos de Trabalho de Arquivo Excel

CRÍTICO: Use Fórmulas, Não Valores Codificados

Sempre use fórmulas do Excel em vez de calcular valores em Python e codificá-los. Isso garante que a planilha permaneça dinâmica e atualizável.

❌ ERRADO - Codificando Valores Calculados

# Ruim: Calculando em Python e codificando resultado
total = df['Sales'].sum()
sheet['B10'] = total  # Codifica 5000

# Ruim: Computando taxa de crescimento em Python
growth = (df.iloc[-1]['Revenue'] - df.iloc[0]['Revenue']) / df.iloc[0]['Revenue']
sheet['C5'] = growth  # Codifica 0.15

# Ruim: Cálculo Python para média
avg = sum(values) / len(values)
sheet['D20'] = avg  # Codifica 42.5

✅ CORRETO - Usando Fórmulas Excel

# Bom: Deixe o Excel calcular a soma
sheet['B10'] = '=SUM(B2:B9)'

# Bom: Taxa de crescimento como fórmula Excel
sheet['C5'] = '=(C4-C2)/C2'

# Bom: Média usando função Excel
sheet['D20'] = '=AVERAGE(D2:D19)'

Isso se aplica a TODOS os cálculos - totais, porcentagens, índices, diferenças, etc. A planilha deve ser capaz de recalcular quando os dados de origem mudam.

Fluxo de Trabalho Comum

  1. Escolha a ferramenta: pandas para dados, openpyxl para fórmulas/formatação
  2. Criar/Carregar: Crie nova pasta de trabalho ou carregue arquivo existente
  3. Modificar: Adicione/edite dados, fórmulas e formatação
  4. Salvar: Escreva no arquivo
  5. Recalcular fórmulas (OBRIGATÓRIO SE USAR FÓRMULAS): Use o script recalc.py
    python recalc.py output.xlsx
    
  6. Verificar e corrigir quaisquer erros:
    • O script retorna JSON com detalhes do erro
    • Se status for errors_found, verifique error_summary para tipos de erro e locais específicos
    • Corrija os erros identificados e recalcule novamente
    • Erros comuns para corrigir:
      • #REF!: Referências de célula inválidas
      • #DIV/0!: Divisão por zero
      • #VALUE!: Tipo de dados errado na fórmula
      • #NAME?: Nome de fórmula não reconhecido

Criando novos arquivos Excel

# Usando openpyxl para fórmulas e formatação
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Alignment

wb = Workbook()
sheet = wb.active

# Adicionar dados
sheet['A1'] = 'Hello'
sheet['B1'] = 'World'
sheet.append(['Row', 'of', 'data'])

# Adicionar fórmula
sheet['B2'] = '=SUM(A1:A10)'

# Formatação
sheet['A1'].font = Font(bold=True, color='FF0000')
sheet['A1'].fill = PatternFill('solid', start_color='FFFF00')
sheet['A1'].alignment = Alignment(horizontal='center')

# Largura da coluna
sheet.column_dimensions['A'].width = 20

wb.save('output.xlsx')

Editando arquivos Excel existentes

# Usando openpyxl para preservar fórmulas e formatação
from openpyxl import load_workbook

# Carregar arquivo existente
wb = load_workbook('existing.xlsx')
sheet = wb.active  # ou wb['SheetName'] para planilha específica

# Trabalhando com múltiplas planilhas
for sheet_name in wb.sheetnames:
    sheet = wb[sheet_name]
    print(f"Planilha: {sheet_name}")

# Modificar células
sheet['A1'] = 'Novo Valor'
sheet.insert_rows(2)  # Inserir linha na posição 2
sheet.delete_cols(3)  # Excluir coluna 3

# Adicionar nova planilha
new_sheet = wb.create_sheet('NewSheet')
new_sheet['A1'] = 'Dados'

wb.save('modified.xlsx')

Recalculando fórmulas

Arquivos Excel criados ou modificados pelo openpyxl contêm fórmulas como cadeias de caracteres, mas não valores calculados. Use o script recalc.py fornecido para recalcular fórmulas:

python recalc.py <excel_file> [timeout_seconds]

Exemplo:

python recalc.py output.xlsx 30

O script:

  • Configura automaticamente macro LibreOffice na primeira execução
  • Recalcula todas as fórmulas em todas as planilhas
  • Verifica TODAS as células quanto a erros do Excel (#REF!, #DIV/0!, etc.)
  • Retorna JSON com locais e contagens de erro detalhados
  • Funciona em Linux e macOS

Lista de Verificação de Fórmula

Verificações rápidas para garantir que as fórmulas funcionem corretamente:

Verificação Essencial

  • Teste 2-3 referências de amostra: Verifique se elas puxam valores corretos antes de construir o modelo completo
  • Mapeamento de colunas: Confirme se as colunas do Excel correspondem (por exemplo, coluna 64 = BL, não BK)
  • Deslocamento de linha: Lembre-se de que as linhas do Excel são indexadas em 1 (linha DataFrame 5 = linha Excel 6)

Armadilhas Comuns

  • Manipulação de NaN: Verifique se há valores nulos com pd.notna()
  • Colunas da extrema direita: Dados AF geralmente em colunas 50+
  • Múltiplas correspondências: Pesquise todas as ocorrências, não apenas a primeira
  • Divisão por zero: Verifique denominadores antes de usar / em fórmulas (#DIV/0!)
  • Referências erradas: Verifique se todas as referências de célula apontam para as células pretendidas (#REF!)
  • Referências entre planilhas: Use o formato correto (Planilha1!A1) para vincular planilhas

Estratégia de Teste de Fórmula

  • Comece pequeno: Teste fórmulas em 2-3 células antes de aplicar amplamente
  • Verifique dependências: Verifique se todas as células referenciadas em fórmulas existem
  • Teste casos extremos: Inclua zero, negativo e valores muito grandes

Interpretando a saída do recalc.py

O script retorna JSON com detalhes do erro:

{
  "status": "success", // ou "errors_found"
  "total_errors": 0, // Contagem total de erros
  "total_formulas": 42, // Número de fórmulas no arquivo
  "error_summary": {
    // Apenas presente se erros encontrados
    "#REF!": {
      "count": 2,
      "locations": ["Sheet1!B5", "Sheet1!C10"]
    }
  }
}

Melhores Práticas

Seleção de Biblioteca

  • pandas: Melhor para análise de dados, operações em massa e exportação de dados simples
  • openpyxl: Melhor para formatação complexa, fórmulas e recursos específicos do Excel

Trabalhando com openpyxl

  • Os índices de célula são baseados em 1 (linha=1, coluna=1 refere-se à célula A1)
  • Use data_only=True para ler valores calculados: load_workbook('file.xlsx', data_only=True)
  • Aviso: Se aberto com data_only=True e salvo, as fórmulas são substituídas por valores e permanentemente perdidas
  • Para arquivos grandes: Use read_only=True para leitura ou write_only=True para escrita
  • Fórmulas são preservadas, mas não avaliadas - use recalc.py para atualizar valores

Trabalhando com pandas

  • Especifique tipos de dados para evitar problemas de inferência: pd.read_excel('file.xlsx', dtype={'id': str})
  • Para arquivos grandes, leia colunas específicas: pd.read_excel('file.xlsx', usecols=['A', 'C', 'E'])
  • Lide com datas corretamente: pd.read_excel('file.xlsx', parse_dates=['date_column'])

Diretrizes de Estilo de Código

IMPORTANTE: Ao gerar código Python para operações Excel:

  • Escreva código Python mínimo e conciso, sem comentários desnecessários
  • Evite nomes de variáveis verbosos e operações redundantes
  • Evite instruções de impressão desnecessárias

Para os próprios arquivos Excel:

  • Adicione comentários às células com fórmulas complexas ou premissas importantes
  • Documente fontes de dados para valores codificados
  • Inclua notas para cálculos principais e seções de modelo

Related Skills

Attack Tree Construction

Build comprehensive attack trees to visualize threat paths. Use when mapping attack scenarios, identifying defense gaps, or communicating security risks to stakeholders.

skill

Grafana Dashboards

Create and manage production Grafana dashboards for real-time visualization of system and application metrics. Use when building monitoring dashboards, visualizing metrics, or creating operational observability interfaces.

skill

Matplotlib

Foundational plotting library. Create line plots, scatter, bar, histograms, heatmaps, 3D, subplots, export PNG/PDF/SVG, for scientific visualization and publication figures.

skill

Scientific Visualization

Create publication figures with matplotlib/seaborn/plotly. Multi-panel layouts, error bars, significance markers, colorblind-safe, export PDF/EPS/TIFF, for journal-ready scientific plots.

skill

Seaborn

Statistical visualization. Scatter, box, violin, heatmaps, pair plots, regression, correlation matrices, KDE, faceted plots, for exploratory analysis and publication figures.

skill

Shap

Model interpretability and explainability using SHAP (SHapley Additive exPlanations). Use this skill when explaining machine learning model predictions, computing feature importance, generating SHAP plots (waterfall, beeswarm, bar, scatter, force, heatmap), debugging models, analyzing model bias or fairness, comparing models, or implementing explainable AI. Works with tree-based models (XGBoost, LightGBM, Random Forest), deep learning (TensorFlow, PyTorch), linear models, and any black-box model

skill

Pydeseq2

Differential gene expression analysis (Python DESeq2). Identify DE genes from bulk RNA-seq counts, Wald tests, FDR correction, volcano/MA plots, for RNA-seq analysis.

skill

Query Writing

For writing and executing SQL queries - from simple single-table queries to complex multi-table JOINs and aggregations

skill

Pydeseq2

Differential gene expression analysis (Python DESeq2). Identify DE genes from bulk RNA-seq counts, Wald tests, FDR correction, volcano/MA plots, for RNA-seq analysis.

skill

Scientific Visualization

Meta-skill for publication-ready figures. Use when creating journal submission figures requiring multi-panel layouts, significance annotations, error bars, colorblind-safe palettes, and specific journal formatting (Nature, Science, Cell). Orchestrates matplotlib/seaborn/plotly with publication styles. For quick exploration use seaborn or plotly directly.

skill

Skill Information

Category:Skill
License:Proprietário. LICENSE.txt tem termos completos
Last Updated:1/22/2026