Tabelas de Sensibilidade (Uma e Duas Variáveis)

Constrói análises de sensibilidade de uma e duas variáveis (Tabela de Dados) sobre uma saída de modelo em um arquivo .xlsx com fórmulas vivas e verificação de recálculo, entregando a pasta de trabalho. Use quando alguém quiser ver como uma saída (VPL, TIR, LPA, margem) se move à medida que uma ou duas entradas mudam. Não acione para edição de uma pasta de trabalho existente por meio do suplemento Claude para Excel.

O que é Tabelas de Sensibilidade (Uma e Duas Variáveis)?

Esta skill automatiza a criação de análises de sensibilidade de uma e duas variáveis (Tabela de Dados) no Excel, a partir de modelos financeiros ou estratégicos. Ela gera um arquivo .xlsx contendo uma aba 'Sensitivity' que referencia células de entrada e saída de um modelo existente, construindo tanto a tabela nativa do Excel com fórmulas vivas (`{=TABLE(...)}`) quanto uma grade computada em código como fallback robusto. A skill suporta a definição de intervalos de varredura centrados no caso base, com passos uniformes e número ímpar de etapas, garantindo que a célula central coincida com o valor base. O workflow inclui etapas de verificação de consistência (célula de canto igual à saída viva, grade central igual ao caso base), recálculo em motor real (LibreOffice headless) e varredura de erros de fórmula (#REF!, #DIV/0!, #VALUE!, #NAME?), resultando em uma pasta de trabalho pronta para entrega com formatação condicional (escala de cores) e rótulos descritivos. É ideal para analistas financeiros, estrategistas e qualquer usuário que precise demonstrar o impacto de variações em preço, volume, taxa de desconto, crescimento ou outros direcionadores em indicadores como VPL, TIR, LPA ou margem.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/andreworia/claude-excel-skills/tree/main/skills/sensitivity-tables

Installed? Explore more Produtividade e Colaboração skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que Tabelas de Sensibilidade (Uma e Duas Variáveis) faz?

Quando usar

Use quando um modelo estratégico ou financeiro tiver uma única saída principal e você quiser mostrar como essa saída responde à variação de um ou dois direcionadores em uma faixa de valores. Os direcionadores típicos são preço, volume, taxa de desconto, crescimento, churn ou custo por unidade. Esta skill CONSTRÓI um arquivo .xlsx para download a partir do zero no aplicativo Claude (openpyxl mais numpy), com fórmulas vivas e uma etapa de recálculo e verificação. Não é o suplemento Claude para Excel.

O que constrói

Uma aba Sensitivity única que se conecta a um modelo existente. Ela referencia as células de entrada e a célula de saída do modelo, organiza grades de uma variável e duas variáveis e aplica escala de cores ao bloco de resultados. Se o modelo de origem estiver em outra planilha, a grade se vincula a ele com referências entre planilhas, mantendo-se viva.

Fluxo de construção

  1. Identifique a célula de saída (por exemplo, Model!B40 contendo VPL) e as uma ou duas células de entrada que a direcionam (por exemplo, Model!B6 taxa de desconto, Model!B7 crescimento).
  2. Confirme que a saída é uma cadeia de fórmulas vivas de volta para essas entradas. Se a saída for um valor fixo, pare e conecte o modelo primeiro; uma Tabela de Dados sobre uma constante retorna a constante.
  3. Escolha faixas de entrada em torno do caso base (por exemplo, taxa de desconto base 10%, varredura de 6% a 14% em passos de 2%).
  4. Construa a estrutura nativa da Tabela de Dados do Excel: fórmula de canto, eixos de entrada e a matriz {=TABLE(r,c)} (consulte a especificação).
  5. Construa TAMBÉM a grade computada em código como fallback robusto: reavalie o modelo em Python para cada combinação de entrada e escreva os valores resultantes como uma matriz rotulada.
  6. Aplique uma escala de 3 cores ao bloco de resultados e rotule ambos os eixos com os nomes das células de entrada.
  7. Adicione o bloco de Verificações.
  8. Recalcule a pasta de trabalho em um motor real (LibreOffice headless).
  9. Verifique zero erros de fórmula (#REF!, #DIV/0!, #VALUE!, #NAME?), confirme que as verificações passam e entregue o arquivo .xlsx.

Especificação aba por aba

Aba Sensitivity, bloco de uma variável

Escolha uma direção de layout. Para entradas descendo uma COLUNA:

  • B3: a fórmula de saída, referenciando a saída viva: =Model!B40. Esta é a célula de canto.
  • A4:A10: os valores de entrada que você varre (entradas azuis), por exemplo, 6%, 8%, 10%, 12%, 14%.
  • B4:B10: a coluna de resultados da Tabela de Dados.
  • Selecione A3:B10, depois Dados > Análise de hipóteses > Tabela de Dados, deixando Célula de entrada da linha em branco e definindo Célula de entrada da coluna como Model!B6. O Excel escreve {=TABLE(,Model!B6)} em B4:B10.
  • openpyxl pode escrever a string de fórmula de matriz =TABLE(,Model!B6) no bloco e o canto =Model!B40, mas os valores só populam após o recálculo em um motor real.

Fallback computado em código para o mesmo bloco (recomendado ao gerar por código), escrito como uma matriz rotulada abaixo, por exemplo, começando em A14:

  • A14: rótulo "Taxa de desconto". B14: "VPL (computado)".
  • Para cada valor de entrada em A15:A21, o Python define Model!B6 para esse valor, recalcula a lógica do modelo em numpy e escreve o VPL resultante como um valor simples na coluna B.
  • Mantenha ambos: a Tabela de Dados nativa prova que está viva; a matriz computada garante números populados mesmo antes de o usuário abrir o Excel.

Aba Sensitivity, bloco de duas variáveis

  • Célula de canto E3: =Model!B40 (a saída viva).
  • E4:E10: valores de entrada da linha descendo pela borda esquerda (primeiro direcionador, por exemplo, crescimento 0%, 1%, ... 6%).
  • F3:L3: valores de entrada da coluna cruzando a linha superior (segundo direcionador, por exemplo, taxa de desconto 6% ... 14%).
  • Selecione E3:L10, Dados > Análise de hipóteses > Tabela de Dados, Célula de entrada da linha = Model!B7 (direcionador transversal), Célula de entrada da coluna = Model!B6 (direcionador vertical). O Excel preenche F4:L10 com {=TABLE(Model!B7,Model!B6)}.
  • Observe a orientação: a célula ligada à LINHA superior vai em Célula de entrada da linha; a célula ligada à COLUNA esquerda vai em Célula de entrada da coluna. Invertê-las transpõe o resultado silenciosamente.
  • Fallback computado em código: um loop duplo em Python sobre ambos os eixos, escrevendo a matriz de valores em um bloco rotulado (cabeçalhos dos eixos em verde se puxam do modelo, azuis se são valores literais de varredura).

Escolhendo faixas de eixos

  • Centralize cada eixo no valor do caso base para que o valor base fique na linha e coluna do meio, tornando a verificação da célula central significativa.
  • Use um número ímpar de passos (5, 7 ou 9) para que uma única célula do meio se alinhe exatamente com o caso base, em vez de cair entre duas células.
  • Mantenha tamanhos de passo uniformes em cada eixo (incremento constante) para que a grade seja lida como um gradiente limpo e a escala de cores seja interpretável.
  • Para taxas, varra em pontos absolutos (8%, 10%, 12%), não em porcentagem relativa ao base, para evitar confundir os leitores.

Notas de construção com openpyxl

  • Escreva o canto como uma string de fórmula real: ws["B3"] = "=Model!B40". Não cole o valor numérico atual da saída.
  • Para a matriz nativa da Tabela de Dados, openpyxl pode armazenar o texto =TABLE(...), mas um motor real deve recalcular para preencher o bloco; trate a matriz como um espaço reservado até que a etapa de recálculo seja executada.
  • Ao escrever o fallback computado, defina os valores de dados com Python (ws.cell(row=r, column=c, value=float(vpl))) e mantenha-os visualmente distintos do bloco vivo com uma nota de cabeçalho como "snapshot computado".
  • Aplique a escala de cores com openpyxl.formatting.rule.ColorScaleRule sobre o bloco de resultados, mapeando o mínimo para uma cor e o máximo para outra através de um ponto médio.

Convenções de fórmula e formatação

  • Fonte azul para entradas (os valores do eixo varrido que você digita).
  • Fonte preta para fórmulas na aba.
  • Fonte verde para links entre planilhas, como =Model!B40.
  • Sem valores fixos onde uma fórmula pertence: a célula de canto deve ser =Model!B40, nunca o número do caso base digitado.
  • Uma fórmula consistente por linha ou coluna: todo o bloco da Tabela de Dados é uma única matriz; o fallback computado usa uma expressão Python aplicada em toda a grade.
  • Formatos de número: taxas como 0.0%, saídas em moeda como #,##0, índices como 0.00. Os valores do eixo correspondem à unidade da célula de entrada que substituem.

Verificações

  • Célula de canto igual à saída viva: =(B3=Model!B40) retorna VERDADEIRO.
  • Eixos rotulados com os nomes das células de entrada (um rótulo de texto acima ou ao lado de cada eixo nomeando o direcionador e seu endereço de célula).
  • Centro da grade corresponde ao caso base: a célula da grade na linha e coluna do caso base é igual à saída atual do modelo, =(<célula central>=Model!B40) VERDADEIRO.
  • Para o fallback computado, a célula nas entradas base é igual à célula da Tabela de Dados nativa nas mesmas entradas (dentro do arredondamento).

Recalcular e verificar

Salve com openpyxl, depois recalcule headless (por exemplo, libreoffice --headless --convert-to xlsx) para que =TABLE(...) e links entre planilhas sejam populados. Recarregue e escaneie cada célula em busca de #REF!, #DIV/0!, #VALUE!, #NAME?. Confirme que as três verificações retornam VERDADEIRO. Se algum erro ou FALSO aparecer, corrija a referência ou o intervalo e repita até ficar limpo, depois entregue.

Entradas a coletar

  • Caminho para o modelo de origem e o endereço exato da célula de saída.
  • Os endereços de uma ou duas células de entrada a varrer.
  • Valores do caso base e a faixa e passo desejados para cada eixo.
  • Unidades e formatos de número preferidos para eixos e saída.

Exemplo

Modelo hipotético: Model!B40 = VPL do projeto, direcionado por Model!B6 taxa de desconto (base 10%) e Model!B7 crescimento da receita (base 3%). O bloco de uma variável varre a taxa de desconto de 6% a 14% em intervalos de 2%, resultando em VPL de (por exemplo) 1.210 / 980 / 760 / 560 / 380 em unidades hipotéticas. O bloco de duas variáveis cruza crescimento de 0% a 6% contra taxa de desconto de 6% a 14%; a célula central em 3% de crescimento e 10% de desconto é igual a Model!B40 de 760, confirmando que o caso base está no meio da grade.

Individual skills in this repo

This repo contains 11 individual skills — each has its own dedicated page.

andreworia/assumption-registry-builder

Creates a structured assumption register for any Excel model with columns for name, category, base value, source, Bull/Bear values, sensitivity rank, and owner, plus a formula for computing sensitivity rank from Data Table outputs.

andreworia/data-cleaning-for-excel

Turns pasted or exported data with mixed formats, blank rows, or duplicates into a clean, consistently formatted range ready for analysis. Use it right after pasting raw data into a worksheet.

andreworia/formula-audit-checker

Provides a systematic audit checklist for Excel model formula logic, hardcoded values, circular references, and error handling, with step-by-step instructions for using Excel's native auditing tools.

andreworia/inputs-calcs-outputs-design

Enforces the three-tab separation principle for any Excel model, producing a full design for a dedicated Inputs tab, one or more Calculations tabs, and a clean Outputs tab with a conventions checklist.

andreworia/model-architecture-template

Defines the master tab structure, naming conventions, color codes, number formats, and print area setup for any new strategy or finance Excel model, serving as the structural template before any content is added.

andreworia/output-summary-tab

Designs the executive summary tab of an Excel model with KPI tiles, a narrative block, a sensitivity summary, and an assumption log, formatted for print or screenshot use in a board pack.

andreworia/pivot-table-builder

Specifies and builds a pivot table from a flat data range, choosing rows, columns, values, and filters. Use it when you have raw tabular data and need a summary view without building it cell by cell.

andreworia/revenue-build

Builds a driver-based revenue forecast .xlsx with live formulas across separate drivers, build, and output tabs plus checks, rolling a customer or units schedule (beginning, adds, churn, ending) into revenue with Base/Bull/Bear scenario toggles. Use when someone needs a bottom-up revenue model, an ARR build, or a driver-based forecast for planning or a board deck. Do not trigger for editing an existing workbook through the Claude for Excel add-in.

andreworia/scenario-manager

Builds a Base/Bull/Bear scenario switching layer for a model in a .xlsx with a live selector, CHOOSE or INDEX assumption links, a side-by-side output comparison, and a recalc check, then delivers the workbook. Use when someone wants an auditable scenario toggle instead of Excel's hidden Scenario Manager. Do not trigger for editing an existing workbook through the Claude for Excel add-in.

andreworia/sensitivity-tornado

Ranks variable sensitivities to a key output and builds a tornado chart by swinging each input over a defined range, computing output impact, and producing a horizontal bar chart data structure.

andreworia/unit-economics

Builds a unit-economics and cohort .xlsx with live formulas across separate assumptions, cohort, and output tabs plus checks, computing CAC, LTV, LTV/CAC, and CAC payback from a monthly cohort retention grid. Use when someone needs unit economics, an LTV/CAC analysis, a payback model, or a cohort retention build. Do not trigger for editing an existing workbook through the Claude for Excel add-in.

Habilidades Relacionadas