# デバッグガイド ## 概要 「経営ダッシュボードを更新」実行時のエラーを診断・解決するためのガイドです。 ## 🔍 デバッグ手順 ### ステップ1: デバッグ版コードをデプロイ 1. **Google Spreadsheetを開く** ``` https://docs.google.com/spreadsheets/d/17AUAHQQB0nZVje9QXtdISEPtMoa8RXKkuCk4R5iHbd4 ``` 2. **Apps Scriptエディタを開く** - メニュー: 「拡張機能」→「Apps Script」 3. **Code.gsを一時的にバックアップ** - `Code.gs` の内容を全選択してコピー - ローカルに保存(念のため) 4. **デバッグ版コードをデプロイ** - `Code.gs` の内容を全て削除 - `Code-debug.gs` の内容をコピー&ペースト - 保存(Ctrl+S) 5. **スプレッドシートを再読み込み** - メニューが「🔷 GemEgg予実管理 (DEBUG)」に変わります --- ### ステップ2: 診断を実行 1. **メニューから「🔍 診断を実行」を選択** 2. **診断レポートを確認** - ダイアログに診断結果が表示されます - 以下の項目がチェックされます: - シートの存在確認 - 経営ダッシュボードの設定値 - 予算入力シートの構造 - 実績入力シートの構造 3. **診断結果の例** **正常な場合:** ``` === 診断レポート === 【1. シート存在チェック】 ✅ 予算入力: 存在 ✅ 実績入力: 存在 ✅ 予実出力: 存在 ✅ 経営ダッシュボード: 存在 【2. 経営ダッシュボード設定チェック】 期首月 (C4): 2025/4 締月 (C5): 2025/10 現金残高 (C29): 51740149 計算された月数: 7ヶ月 【3. 予算入力シート構造チェック】 年間予算売上 (O6): 12000000 販管費計の年間予算: 8000000 【4. 実績入力シート構造チェック】 売上高 (9行): B列="売上高", 値=850000 ... 【5. 総合判定】 ✅ エラーなし - ダッシュボード更新を実行できます ``` **エラーがある場合:** ``` 【5. 総合判定】 ❌ 2個の問題が見つかりました: 1. 予算入力シートのO6に年間予算売上がありません 2. 予算入力シートで「販売管理費 計」が見つかりません ``` --- ### ステップ3: デバッグ版ダッシュボード更新を実行 1. **メニューから「📈 経営ダッシュボードを更新 (DEBUG)」を選択** 2. **Apps Script実行ログを確認** - Apps Scriptエディタで「実行」タブを開く - または、「表示」→「ログ」(Ctrl+Enter) 3. **ログの見方** **正常な場合:** ``` === 経営ダッシュボード更新開始 === ✓ 経営ダッシュボードシート: 見つかりました ✓ 予算入力シート: 見つかりました ✓ 実績入力シート: 見つかりました --- 設定値の読み込み --- 期首月 (C4): 2025/4 締月 (C5): 2025/10 --- 月数計算 --- 計算された月数: 7ヶ月 --- セクション1: 年間予算 vs 締月地点実績 --- 対象列: 7列目(G)〜13列目 年間予算を読み込み中... 年間予算売上 (O6): 12000000 締月地点実績を計算中... 売上高: 9行, 7〜13列を集計中... 取得した値: [850000, 920000, ...] 売上高合計: 5950000 ... ✓ セクション1: 完了 --- セクション2: 締月地点予算 vs 実績 --- ✓ セクション2: 完了 --- セクション3: 収益性指標 --- ✓ セクション3: 完了 --- セクション4: 効率性指標 --- ✓ セクション4: 完了 --- セクション5: キャッシュフロー関連 --- ✓ セクション5: 完了 --- セクション6: その他指標 --- ✓ セクション6: 完了 === 更新完了 === ``` **エラーがある場合:** ``` --- セクション1: 年間予算 vs 締月地点実績 --- 対象列: 7列目(G)〜13列目 年間予算を読み込み中... ❌ セクション1でエラー: Cannot read property 'getValue' of null ``` 4. **エラーメッセージの記録** - どのセクションでエラーが発生したか - エラーメッセージの内容 - スタックトレース --- ## 📋 よくあるエラーと解決方法 ### エラー1: 「販売管理費 計」が見つかりません **原因:** - 予算入力シートに「販売管理費 計」という項目がない - 項目名のスペルが異なる(全角/半角、スペースなど) **解決方法:** 1. 予算入力シートを開く 2. B列で「販売管理費 計」という項目を探す 3. 見つからない場合は、該当する項目を追加するか、項目名を修正 --- ### エラー2: 年間予算売上 (O6) がありません **原因:** - 予算入力シートのO6セルが空白または0 **解決方法:** 1. 予算入力シートを開く 2. O6セル(期間累計列の売上高行)に年間予算額が入っているか確認 3. 空白の場合は、C6〜N6の合計が自動計算されるよう数式を設定 --- ### エラー3: 月数が異常です **原因:** - 経営ダッシュボードのC4(期首月)またはC5(締月)の形式が正しくない - 期待される形式: `2025/4` または `2025/10` **解決方法:** 1. 経営ダッシュボードシートを開く 2. C4とC5の値を確認 3. 形式を `YYYY/M` に修正(例: `2025/4`) --- ### エラー4: 実績入力シートの行番号が違う **原因:** - 実績入力シートの構造が想定と異なる - Money Forward CSVのインポート位置が変わった **解決方法:** 1. 実績入力シートを開く 2. 以下の行番号を確認: - 9行: 売上高 - 18行: 売上総損益金額 - 20行: 役員報酬 - 21行: 給料手当 - 22行: 法定福利費 - 31行: 販売管理費 計 - 32行: 営業損益金額 - 35行: 経常損益金額 3. 行番号が異なる場合は、Code.gsの該当する行番号を修正 --- ## 🔧 デバッグ後の対応 ### 問題が解決した場合 1. **通常版コードに戻す** - Apps Scriptエディタで `Code.gs` を開く - 内容を全て削除 - バックアップしていた元の `Code.gs` または最新の `Code.gs` をコピー&ペースト - 保存 2. **動作確認** - スプレッドシートを再読み込み - メニューから「経営ダッシュボードを更新」を実行 - エラーが出ないか確認 ### 問題が解決しない場合 以下の情報を提供してください: 1. **診断レポートの全文** - 「🔍 診断を実行」の結果 2. **実行ログの全文** - 「📈 経営ダッシュボードを更新 (DEBUG)」実行後のログ 3. **エラーメッセージ** - ダイアログに表示されたエラーメッセージとスタックトレース 4. **シートのスクリーンショット** - 経営ダッシュボードのC4〜C5(期首月・締月) - 予算入力シートのB列とO列(項目名と期間累計) - 実績入力シートのB列とG列(項目名と最初の月) --- ## 📁 関連ファイル - `Code.gs` - 通常版(本番用) - `Code-debug.gs` - デバッグ版(診断用) - `DEBUG_GUIDE.md` - 本ドキュメント - `FIX_REPORT.md` - 以前の修正内容 - `IMPLEMENTATION.md` - 実装詳細 --- **作成日**: 2025-12-26 **作成者**: Claude Code