日本の会計年度(4月始まり・3月終わり)に対応し、年度別のクロス集計、予算比較、および理事会報告用PDFの自動生成を行います。
- CSVインポート: CSVファイルを読み込み、重複を排除してデータベース化。
- 名寄せ処理: 複雑な決済名(ZOOM, GOOGLE等)をクリーンな名称に自動統一。
- 年度別クロス集計: 4月〜翌3月の月次推移表を自動生成。
- 理事会用PDF出力: 報告に必要な列だけを抽出したPDFを自動生成し、指定フォルダへ格納。
| ファイル名 | 役割 |
|---|---|
importAndSummary.js |
CSV取り込み、名寄せ、集計表作成(メインロジック) |
menu.js |
スプレッドシート上部への専用メニュー追加 |
reportGenerator.js |
理事会報告用PDFの生成・保存処理 |
setup.js |
外部マスター連携(IMPORTRANGE)および初期シート作成 |
validator.js |
集計データの計算整合性チェック |
本ツールを動作させるには、スプレッドシートの「スクリプトプロパティ」に以下の値を設定する必要があります。 (設定場所:[設定(歯車アイコン)] > [スクリプトプロパティ])
| プロパティ名 | 設定値の例 | 内容 |
|---|---|---|
FOLDER_ID |
1abc123... |
取り込み対象のCSVが格納されているGoogleドライブのフォルダID |
PDF_FOLDER_ID |
1xyz789... |
生成したPDFを保存する先のフォルダID |
INITIALIZED |
true |
初回実行が完了すると自動でセットされます(手動設定不要) |
TARGET_FILE_NAME |
202504.csv |
特定のファイルだけを再取り込みしたい場合に使用(任意) |
-
データのインポート
- 指定のフォルダに
YYYYMM.csv形式のファイルをアップロードします。 - メニューから「1. CSVインポートと集計実行」を選択します。
- 指定のフォルダに
-
PDFの作成
- 必要時に「2. 理事会用PDFを作成」を実行します。
- 実行日時に応じた「今年度」と「前年度」のPDF(計4枚)が生成されます。
本ツールでは、決済代行会社やカード明細によって表記が異なる項目名を、normalizeItemName.gs 内の normalizeItemName_ 関数で統一しています。
- 記号・空白の半角化: 全角英数字、全角記号、全角空白をすべて半角に変換します。
- 大文字統一: 比較を容易にするため、内部的にすべて大文字として処理します。
- キーワードマッチング:
if (n.includes('キーワード'))を用いて、特定の文字列が含まれている場合に正式名称へ変換します。
新しいサブスクリプションや、正しく名寄せされていない項目を見つけた場合は、normalizeItemName.gs 内の normalizeItemName_ 関数に以下の形式で追記してください。
-
注意点
-
判定用のキーワード(includes の中身)は、必ず半角の大文字で記述してください。
-
ルールは上から順に判定されます。より具体的な名称(例:GOOGLE STORAGE)を先に判定させたい場合は、一般的な名称(例:GOOGLE)より上の行に記述してください。
-
// 例:新しいサービス「Slack」を追加する場合
if (n.includes('SLACK')) return 'Slack';
// 例:複数のキーワードを一つの名称にまとめたい場合
if (n.includes('MICROSOFT') || n.includes('AZURE')) return 'Microsoft / Azure';- CSVの形式: Shift-JIS形式のCSVを想定しています。
- 列の非表示: PDF作成時にプログラムでB〜M列を一時的に非表示にします。処理中にシートを操作しないでください。