【完全版】GASでスプレッドシートをバックアップ自動化する方法|初心者でもできるステップ解説!

「うっかりスプレッドシートを上書きしてしまった…」
「誤って重要なデータを削除してしまった…」

そんなヒヤリとする経験、誰しも一度はあるのではないでしょうか?

そこでおすすめなのが、Google Apps Script(GAS)を使ったスプレッドシートのバックアップ自動化です!

この記事では、初心者でもすぐにできる
GASを活用したスプレッドシートの自動バックアップ方法を、実例とコード付きでわかりやすく解説します!

これを読めば、データ消失リスクゼロの安心運用が今日からスタートできます!


1. なぜGASでスプレッドシートのバックアップを自動化すべきなのか?

スプレッドシート運用には常にリスクが潜んでいます。

  • 誤操作によるデータ破損

  • 上書き保存による情報消失

  • 他メンバーによる意図しない変更

これらのトラブルを防ぐには、定期的なバックアップが絶対に必要です。

しかし、手動でコピーを取るのは面倒だし忘れがち。

そこでGASを使えば、

  • 自動でバックアップコピーを作成

  • ファイル名にタイムスタンプを付与

  • 指定フォルダに整理して保存

できるため、
何も考えずにデータを守ることができるようになります!


2. 【準備編】必要なもの

  • Googleアカウント

  • バックアップ対象のスプレッドシート

  • Google Apps Script(GAS)

これだけです!


3. 【設計編】バックアップ自動化の基本フロー

まずは流れをざっくり整理しましょう。

■ 基本フロー

  1. 対象スプレッドシートを指定

  2. 現在時刻を付与したファイル名でコピー作成

  3. 指定フォルダへ保存

  4. 定期的に自動実行

この仕組みを作れば、
無意識に安全なデータ管理ができるようになります!


4. 【基本編】GASでスプレッドシートバックアップを自動化する方法

では、実際にスクリプトを書いていきましょう!


ステップ① Apps Scriptエディタを開く

スプレッドシートまたはGoogleドライブ上部メニューから
「拡張機能」→「Apps Script」→「新しいプロジェクト作成」


ステップ② サンプルスクリプトを書く

【基本版】スプレッドシートを定期バックアップするスクリプト

function backupSpreadsheet() {
  const sourceFileId = 'バックアップ元スプレッドシートのID';
  const backupFolderId = '保存先フォルダのID';
  
  const sourceFile = DriveApp.getFileById(sourceFileId);
  const backupFolder = DriveApp.getFolderById(backupFolderId);
  
  const now = new Date();
  const timestamp = Utilities.formatDate(now, Session.getScriptTimeZone(), 'yyyyMMdd_HHmmss');
  const backupName = `${sourceFile.getName()}_backup_${timestamp}`;
  
  const backupFile = sourceFile.makeCopy(backupName, backupFolder);
  
  Logger.log('バックアップ完了: ' + backupFile.getUrl());
}

このスクリプトを実行すると、

  • スプレッドシートをコピー

  • タイムスタンプ付きのファイル名で保存

  • 指定フォルダに格納

一発で完了します!


5. 【応用編】さらに強力なバックアップ自動化テクニック!


✅ 複数スプレッドシートをまとめてバックアップ

対象スプレッドシートが複数ある場合も、
配列管理してforEachで一括バックアップ可能!


✅ バックアップファイルにラベル付け

用途ごとにラベルを付けておけば、
「重要」「定例」「特別対応」など分類もラクラク!


✅ 一定期間経過したバックアップを自動削除

例えば「30日以上前のバックアップは自動削除」と設定すれば、
無限に増え続けるファイル問題も解決!

function deleteOldBackups() {
  const folderId = '保存先フォルダのID';
  const folder = DriveApp.getFolderById(folderId);
  const files = folder.getFiles();
  const now = new Date();
  
  while (files.hasNext()) {
    const file = files.next();
    const created = file.getDateCreated();
    const diffDays = (now - created) / (1000 * 60 * 60 * 24);
    
    if (diffDays > 30) {
      file.setTrashed(true);
    }
  }
}

6. 【運用編】スプレッドシートバックアップを安定稼働させるポイント


✔️ 時間主導型トリガーで自動化

「毎日深夜2時にバックアップ」など、
定期実行設定を忘れずに!


✔️ 保存先フォルダの管理を徹底

バックアップ専用フォルダを作って、
本番ファイルと混ざらないように整理しましょう!


✔️ スクリプトの実行エラー通知設定

万一バックアップに失敗した場合、
エラー通知を設定しておくと安心です。


7. まとめ|GASでスプレッドシートのバックアップ自動化を実現して、最強の安心運用へ!

GASを使えば、

  • スプレッドシートのコピーを自動作成

  • タイムスタンプ管理

  • 保存先フォルダ整理

  • 古いバックアップ自動削除

まで、すべて自動化できます!

まずはこの記事のサンプルスクリプトを使って、
「毎日バックアップ運用」から始めてみましょう!

慣れてきたら、

  • バージョン管理ラベル追加

  • 複数スプレッドシート一括バックアップ

  • クラウド連携(Google Drive以外)バックアップ

など、さらに高度な管理にもチャレンジできます!

Shop now