Googleスプレッドシート│自動で日付入り!複製シートを作成する方法

Googleスプレッドシートで、毎月使うテンプレートを自動で複製し、シート名に日付を付けたいことはありませんか?

この記事では、Google Apps Script(GAS)を使って、「master」というシートをテンプレートとして、日付付きで自動コピーする方法をご紹介します。

定例会議の議事録などテンプレートが決まっているものに使えます。

目次

Googleスプレッドシートで自動で日付入りの複製シートを作成する方法

Google App Script(GAS)を使います。

ステップ1:テンプレートシートを準備

まず、複製元となるシートに master という名前を付けておきます。

ステップ2:スクリプトエディタを開く

メニューから
ツールスクリプトエディタ をクリック。
新しいGASエディタが開きます。

ステップ3:以下のコードを貼り付け

function AutoSheetCopy() {
  var ss = SpreadsheetApp.getActiveSpreadsheet(); 
  var templateSheet = ss.getSheetByName('master'); 
  ss.insertSheet(getDate(), 0, {template: templateSheet}); 
}

// 現在の年月(YYYYMM)を取得
function getDate() {
  var today = new Date(); 
  return Utilities.formatDate(today, "JST", "yyyyMM");
}

実行すると…

初回は承認のモーダルが表示されますので承認が必要です

  • 「master」シートの内容がコピーされ
  • 新しいシートが「202505」などの年月の名前で追加されます

応用例

トリガーを使って、自動でスクリプトを実行するようにしましょう。

  1. スクリプトエディタの左側「時計アイコン」から「トリガー」を開く
  2. 関数 AutoSheetCopy を選択
  3. イベントの種類:「時間主導型」
  4. 時間の間隔:「月単位」「毎月1日午前9時」など任意の設定

応用アイデア

  • シート名を「2025年5月」形式にしたい場合は yyyy年MM月 に変更
  • 毎週複製したい場合は ww を使って「2025W21」のように週番号も追加可能
return Utilities.formatDate(today, "JST", "yyyy年MM月");

おすすめの活用例

  • 勤怠管理の月別テンプレート
  • 月次報告書のテンプレート化
  • 月間タスクリストやレポートの自動生成

まとめ

Google Apps Script を使えば、毎月のルーチン業務を大幅に効率化できます。

テンプレートの自動コピー + 日付管理を、ぜひ自分の業務に取り入れてみてください!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次