業務自動化で脱・手作業!一人事務のDX活用術 | RPA・自動化ツール

業務自動化で脱・手作業!一人事務のDX活用ブログ|RPA・自動化ツールで業務をもっとラクに、もっとスマートに

【GASでExcelを自動化】業務効率UP!便利な小技5選とサンプルコード

【GASでExcelを自動化】業務効率UP!便利な小技5選とサンプルコード

Excelは非常に多機能で便利なツールですが、作業を自動化できたらもっと効率的に仕事が進むのではないかと感じることも多いですよね。

そこで今回は、Google Apps Script(以下、GAS)を使ってExcelでは難しい小技を実現する方法を具体的なコード例とともにご紹介します。

GASはGoogleスプレッドシート上で動作するため、トリガーを設定すればスケジュール実行も簡単に行え、業務効率化に大きく貢献します。

▼【参考】GASとは?初回導入手順はこちら

keiridx.net

 

1. シートを開くたびに自動で「最終更新日」を記入

手作業で更新日を記入するのは面倒ですが、下記のコードを使えばシートを開いた際に自動でセルに最終更新日が反映されます。
※コード内の「シート名」は実際のシート名に変更してください。

▼下記のGASコードを記述 ※シート名を変更
------------------------
function setLastUpdatedDate() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("シート名");
  var lastUpdatedCell = sheet.getRange("A1"); // 最終更新日を表示したいセルを指定
  var currentDate = new Date();
  
  // 日付を「yyyy年MM月DD日」の形式にフォーマット
  var formattedDate = Utilities.formatDate(currentDate, Session.getScriptTimeZone(), "yyyy年MM月dd日");
  
  // 最終更新日として設定
  lastUpdatedCell.setValue("最終更新日:" + formattedDate);
}
------------------------

シートの起動時にこの関数を実行するトリガーを設定すれば、常に最新の更新日が自動で記録されます。

【GASでExcelを自動化】業務効率UP!便利な小技5選とサンプルコード

2. 月ごとのシートを自動作成

毎月新しいシートを作成する作業を自動化するコードです。既にシートが存在する場合は何もしないので安心です。

▼下記のGASコードを記述
------------------------
function createMonthlySheet() {
  var month = new Date().getMonth() + 1; // 現在の月を取得
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  
  // すでにシートが存在するか確認し、存在しない場合に作成
  var sheetName = month + "月";
  if (!sheet.getSheetByName(sheetName)) {
    sheet.insertSheet(sheetName);
  }
}
------------------------
こちらは時間主導型トリガーを月ごとに設定することで、毎月自動で新しいシートが追加されます。

【GASでExcelを自動化】業務効率UP!便利な小技5選とサンプルコード

3. スプレッドシートの内容を自動バックアップ

大事なデータを誤って消してしまうリスクを軽減するために、バックアップを自動で作成する方法です。バックアップ元と先のシート名を適宜変更してください。

▼下記のGASコードを記述  ※バックアップ元シートと先シートの名称を変更
------------------------
function backupData() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sourceSheet = ss.getSheetByName("データシート"); // バックアップ元シート
  var backupSheet = ss.getSheetByName("バックアップ"); // バックアップ先シート

  // バックアップ先シートにデータをコピー
  sourceSheet.getDataRange().copyTo(backupSheet.getRange(1, 1));
}
------------------------

バックアップ実行のタイミングもトリガーで設定できるため、定期的な自動バックアップが実現します。

【GASでExcelを自動化】業務効率UP!便利な小技5選とサンプルコード

4. 特定の売上金額でセルを強調表示

売上データが一定の数値を超えた場合、視認性を高めるためにセルの背景色を変更するコードです。売上金額が記載されている列の番号はコード内で指定しています。

 

▼下記のGASコードを記述 ※シート名、範囲を変更
------------------------
function generateSalesChart() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("売上データ");
  var range = sheet.getRange("A1:B12"); // データ範囲(例:月別の売上)
  
  var chart = sheet.newChart()
     .setChartType(Charts.ChartType.COLUMN)
     .addRange(range)
     .setPosition(5, 5, 0, 0)
     .setOption('title', '月別売上')
     .setOption('legend', {position: 'none'})
     .build();
  
  sheet.insertChart(chart);
}
------------------------

トリガーで必要なタイミングに自動実行させれば、リアルタイムで売上の状況が分かりやすくなります。

【GASでExcelを自動化】業務効率UP!便利な小技5選とサンプルコード

5. 毎月の売上グラフを自動作成

売上データを基に、毎月のグラフを自動生成する方法です。シート上にグラフを作成することで、視覚的に売上の推移が把握できます。

▼下記のGASコードを記述 ※シート名を変更
------------------------
function highlightHighSales() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("売上データ");
  var data = sheet.getDataRange().getValues();
  
  for (var i = 1; i < data.length; i++) {
    var sales = data[i][1]; // 売上金額が記載されている列
    
    if (sales > 10000) {
      sheet.getRange(i + 1, 2).setBackground("yellow"); // 売上が10000を超える場合、背景色を黄色に設定
    }
  }
}
------------------------

グラフの自動作成も、実行タイミングをトリガーで設定することで、毎月の集計結果を自動的に更新できます。

【GASでExcelを自動化】業務効率UP!便利な小技5選とサンプルコード

まとめ

以上、GASを活用したExcel操作の自動化テクニックを5つご紹介しました。どのコードもシンプルで短く、設定次第でさまざまな業務を効率化できる点が魅力です。GASはコードを書く手間こそありますが、標準でトリガー機能が備わっているため、スケジュール実行や自動更新が容易に行えます。ぜひ、日々の業務改善の一助として、これらの小技にチャレンジしてみてください。

▼ 役に立ったらブックマークお願いします!

【GASでExcelを自動化】業務効率UP!便利な小技5選とサンプルコード

【GASでExcelを自動化】業務効率UP!便利な小技5選とサンプルコード

人気ブログランキング

【GASでExcelを自動化】業務効率UP!便利な小技5選とサンプルコード

現役公認会計士が解説!GASで自動化する経営管理【電子書籍】[ 稲垣 大輔 ]

価格:1980円
(2025/2/21 11:54時点)
感想(0件)

 

【GASでExcelを自動化】業務効率UP!便利な小技5選とサンプルコード

プログラム未経験者でもOK!! 業務効率化/自動化のためのGoogle Apps Script [ 事務職たらこ ]

価格:2420円
(2025/2/21 11:56時点)
感想(0件)