GAS 自動化ラボ

AI Lab — GAS 自動化ラボ

Google Apps Scriptで、手作業をゼロに近づける

集計・通知・API連携の実装パターンを検証する記録。コピペで動くコード付きで残します。

「毎月の集計に何時間もかかる」——その作業、GASなら一度組めば自動で回り続けます。現場で実際に使った最小構成のコードを公開します。

複数シートの売上を1枚に自動集計する

GAS自動化ラボ ・ スプレッドシート集計

店舗ごと・月ごとにシートが分かれていると、合計を出すだけで毎回コピペ地獄になります。GASで「全シートを走査して合算」すれば、ボタン1つ(または時刻トリガー)で集計表が更新されます。

コード(コピペで動く最小構成)

function 集計を更新() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const 集計 = ss.getSheetByName(‘集計’) || ss.insertSheet(‘集計’); 集計.clearContents(); 集計.appendRow([‘シート名’, ‘売上合計’]); let 総合計 = 0; ss.getSheets().forEach(sheet => { const name = sheet.getName(); if (name === ‘集計’) return; // 集計シート自身は除外 const 値 = sheet.getRange(‘B2:B’).getValues() .flat().filter(v => typeof v === ‘number’); const 合計 = 値.reduce((a, b) => a + b, 0); 集計.appendRow([name, 合計]); 総合計 += 合計; }); 集計.appendRow([‘総合計’, 総合計]); Logger.log(‘集計完了:総合計 ‘ + 総合計); }

使い方

  • 各店舗シートの B列に売上が入っている前提(B2以降)
  • 拡張機能 → Apps Script に貼り付けて保存
  • 「集計を更新」を実行(初回のみ権限承認)
  • 毎朝自動にしたい場合はトリガーで時刻起動を設定
現場メモ:「処理件数(成功・失敗)をログに残す」だけで、後から「ちゃんと全店舗集計できてるか」を確認できて安心。Logger.log は最初から入れておくのがおすすめです。

もっと実用的なGASテンプレートも配布中

メルマガ登録で「日報自動投稿・月次レポート・フォーム通知」の3本を無料配布。

Sheet Lab で関数・GASを学ぶ 無料テンプレートを受け取る