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」などの年月の名前で追加されます

応用例
トリガーを使って、自動でスクリプトを実行するようにしましょう。
- スクリプトエディタの左側「時計アイコン」から「トリガー」を開く
- 関数
AutoSheetCopy
を選択 - イベントの種類:「時間主導型」
- 時間の間隔:「月単位」「毎月1日午前9時」など任意の設定
応用アイデア
- シート名を「2025年5月」形式にしたい場合は
yyyy年MM月
に変更 - 毎週複製したい場合は
ww
を使って「2025W21」のように週番号も追加可能
return Utilities.formatDate(today, "JST", "yyyy年MM月");
おすすめの活用例
- 勤怠管理の月別テンプレート
- 月次報告書のテンプレート化
- 月間タスクリストやレポートの自動生成
まとめ
Google Apps Script を使えば、毎月のルーチン業務を大幅に効率化できます。
テンプレートの自動コピー + 日付管理を、ぜひ自分の業務に取り入れてみてください!