数式ファーストのワークブック
最初にバンドルされているスクリプトを必ず実行してください。 このスクリプトは手計算の結果と照合してテストされています。ワークブックをゼロから再構築しないでください。追加のタブ、グラフ、書式設定は、ユーザーが要求した場合にのみ後から追加し、スクリプトのタブと数式は変更しないでください。
ビジネス向けのスプレッドシートは、数字が変わっても機能し続ける必要があります。このスキルは、Claudeがライブ数式(貼り付けられた結果値は不可)でワークブックを構築し、.xlsxファイルを監査して、合計を静かに壊すミスを検出します。
ワークブック構築時
reference/build_rules.mdに従ってください。簡単に言うと:
- 入力タブ: すべての前提条件(レート、価格、日付、パーセンテージ)にラベル、単位、出典メモを付けて配置します。数式はこれらのセルを参照し、数式内に0、1、12、100以外の数値を直接入力しないでください。
- 計算: 列の最下行まで同じ数式を使用します。合計は列全体の範囲(将来のエントリ用の空白バッファ行を含む)をカバーします。
- チェックタブ: 合計ごとに少なくとも1つのチェック(例:「カテゴリの合計 = 総合計」「負の残高なし」)を配置し、
OKまたはメッセージを表示します。 - 色分け: 入力は薄い黄色、数式はグレー。ヘッダー行を固定します。
- Excel 2016+とGoogle Sheetsの両方で動作する関数(SUMIFS、COUNTIFS、INDEX/MATCH、IFERROR、ROUND、EOMONTH)のみを使用します。LET、LAMBDA、XLOOKUP、動的配列は、ユーザーがMicrosoft 365を確認した場合を除き避けてください。
- 保存後、以下のリンターを実行し、すべてのERRORを修正してから納品します。
ワークブックの監査
python scripts/lint_workbook.py FILE.xlsx [--json]
シートとセルごとに以下を報告します:
- ERROR: 壊れた参照(
#REF!、存在しないシートへの参照)、キャッシュされたエラー値(#DIV/0!、#N/Aなど)、合計の直前の数字をカバーしていないSUM/合計範囲。 - WARN: 数式列内の直接入力された数値(上書きされた数式)、隣接する数式パターンと異なる数式、数式内のマジックナンバー。
結果をわかりやすい言葉で、最も重大なものから順に、セルアドレスと修正方法とともにユーザーに要約します。ファイルがスクリプトで生成され、Excelで開かれたことがない場合、キャッシュされた値は存在しません。その旨を伝え、数式が評価されたと主張しないでください。