xlsx について
PythonでExcelブックを作成、編集、分析するためのスキルです。数式による計算、既存テンプレートの規則の維持、数式の再計算とエラー検査を重視します。
主な機能
- 01XLSXファイルの作成、編集、分析
- 02pandasとopenpyxlによるブック操作
- 03Excel数式による計算
- 04数式の再計算とエラー検査
- 05既存テンプレートの書式を維持
- 06財務モデル基準の適用
活用シーン
- 01pandasでワークシートデータを分析
- 02数式を使って更新可能なモデルを作成
- 03テンプレートに合わせてブックを変更
- 04編集後にブックの数式を検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ henkisdabro/ wookstar-claude-plugins --skill xlsxインストール後、Claude Code で/xlsxを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSE.txtrecalc.pyreferences/financial-model-standards.mdformula-verification.mdopenpyxl-patterns.md詳細
出力の要件
すべての Excel ファイル
数式エラーをゼロにする
- すべての Excel モデルは、数式エラー(#REF!、#DIV/0!、#VALUE!、#N/A、#NAME?)がゼロの状態で納品する必要があります。
既存のテンプレートを維持する(テンプレートを更新する場合)
- ファイルを変更する際は、既存の書式、スタイル、慣例を調べ、正確に合わせてください。
- 確立されたパターンがあるファイルに、標準化された書式を適用しないでください。
- 既存のテンプレートの慣例は、常にこれらのガイドラインより優先されます。
財務モデル
財務モデル、DCF、バリュエーションについては、色分け、数値の書式設定、数式の作成ルール、ドキュメント要件を確認するため、references/financial-model-standards.md をお読みください。
XLSX の作成、編集、分析
概要
ユーザーから .xlsx ファイルの作成、編集、または内容の分析を依頼されることがあります。タスクに応じて、さまざまなツールやワークフローを利用できます。
重要な要件
数式の再計算には LibreOffice が必要です:recalc.py スクリプトを使用した数式の再計算には、LibreOffice がインストールされているものとします。このスクリプトは初回実行時に LibreOffice を自動的に設定します。
データの読み取りと分析
pandas によるデータ分析
データ分析、可視化、基本的な操作には、強力なデータ操作機能を備えた pandas を使用してください。
import pandas as pd
# Read Excel
df = pd.read_excel('file.xlsx') # Default: first sheet
all_sheets = pd.read_excel('file.xlsx', sheet_name=None) # All sheets as dict
# Analyse
df.head() # Preview data
df.info() # Column info
df.describe() # Statistics
# Write Excel
df.to_excel('output.xlsx', index=False)
重要:ハードコードした値ではなく、数式を使用する
Python で値を計算してハードコードするのではなく、必ず Excel の数式を使用してください。 これにより、スプレッドシートの動的な状態を保ち、更新できるようになります。
悪い例 — 計算した値のハードコード
# Bad: Calculating in Python and hardcoding result
total = df['Sales'].sum()
sheet['B10'] = total # Hardcodes 5000
# Bad: Computing growth rate in Python
growth = (df.iloc[-1]['Revenue'] - df.iloc[0]['Revenue']) / df.iloc[0]['Revenue']
sheet['C5'] = growth # Hardcodes 0.15
# Bad: Python calculation for average
avg = sum(values) / len(values)
sheet['D20'] = avg # Hardcodes 42.5
正しい例 — Excel の数式を使用
# Good: Let Excel calculate the sum
sheet['B10'] = '=SUM(B2:B9)'
# Good: Growth rate as Excel formula
sheet['C5'] = '=(C4-C2)/C2'
# Good: Average using Excel function
sheet['D20'] = '=AVERAGE(D2:D19)'
これは、合計、割合、比率、差分など、すべての計算に適用されます。元データが変更されたときに、スプレッドシートを再計算できるようにしてください。
一般的なワークフロー
- ツールを選択:データには pandas、数式や書式設定には openpyxl を使用します。
- 作成/読み込み:新しいワークブックを作成するか、既存のファイルを読み込みます。
- 変更:データ、数式、書式を追加または編集します。
- 保存:ファイルに書き込みます。
- 数式を再計算(数式を使用する場合は必須):recalc.py スクリプトを使用します。
python recalc.py output.xlsx - エラーを確認して修正:
- スクリプトはエラーの詳細を含む JSON を返します。
statusがerrors_foundの場合は、error_summaryで具体的なエラーの種類と場所を確認します。- 特定されたエラーを修正し、再度再計算します。
- よくある修正対象のエラー:
#REF!:無効なセル参照#DIV/0!:ゼロによる除算#VALUE!:数式内のデータ型が正しくありません#NAME?:数式名が認識されません
ファイルの作成や編集に関する詳細なコード例については、references/openpyxl-patterns.md をお読みください。
数式の再計算
openpyxl で作成または変更した Excel ファイルには、数式が文字列として含まれますが、計算済みの値は含まれません。数式を再計算するには、提供されている recalc.py スクリプトを使用してください。
python recalc.py <excel_file> [timeout_seconds]
例:
python recalc.py output.xlsx 30
このスクリプトは次の処理を行います。
- 初回実行時に LibreOffice のマクロを自動的に設定します。
- すべてのシートの数式を再計算します。
- すべてのセルをスキャンして Excel のエラー(#REF!、#DIV/0! など)を検出します。
- 詳細なエラー箇所と件数を含む JSON を返します。
- Linux と macOS の両方で動作します。
数式の検証チェックリストと recalc.py の出力の解釈については、references/formula-verification.md をお読みください。
コードスタイルのガイドライン
重要:Excel 操作用の Python コードを生成する際は、次の点に従ってください。
- 不要なコメントを含めず、最小限で簡潔な Python コードを書きます。
- 冗長な変数名や重複した処理は避けます。
- 不要な print 文は避けます。
Excel ファイル自体について:
- 複雑な数式や重要な前提条件が含まれるセルにコメントを追加します。
- ハードコードした値のデータソースを記録します。
- 重要な計算やモデルのセクションに注記を含めます。
参考資料
references/financial-model-standards.md- 財務モデルの色分け、数値の書式設定、数式の作成ルール、ドキュメント要件references/openpyxl-patterns.md- ファイルの作成・編集に関するコード例、ライブラリの選択ガイド、openpyxl と pandas のヒントreferences/formula-verification.md- 検証チェックリスト、よくある落とし穴、recalc.py の出力の解釈