Chat GPTを使えば、Google Apps Script(GAS)を誰でも簡単に書くことができます。
今回使用しているChatGPTは無料版です。
GASを使ってスプレッドシートを操作したいのですが、残念ながら筆者はコードの知識がないので、GASを書くことができません。
そこで、Chat GPTにお願いして、全て書いてもらうことにしました。
筆者がやりたいこと
『スプレッドシートを開くと、自動的に今日の日付のセルに移動するようにしたい!』
ということで、こんなプロンプトを書いてみました。
スプレッドシートを開いた際、自動的に今日の日付の入ったセルに移動するスクリプトを書いてください。
ChatGPTの返事がこちら↓

スクリプトだけ書き出しました↓
function onOpen() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var today = new Date();
  var formattedDate = Utilities.formatDate(today, Session.getScriptTimeZone(), "yyyy/MM/dd");
  var range = sheet.getDataRange();
  var values = range.getValues();
  for (var row = 0; row < values.length; row++) {
    for (var col = 0; col < values[row].length; col++) {
      var cellValue = values[row][col];
      if (cellValue instanceof Date && Utilities.formatDate(cellValue, Session.getScriptTimeZone(), "yyyy/MM/dd") === formattedDate) {
        var cell = sheet.getRange(row + 1, col + 1);
        sheet.setActiveRange(cell);
        return;
      }
    }
  }
}あっという間に書いてくれたこのスクリプトでも良いんですが、親切なChatGPTはスクリプトの使用方法と注意点まで教えてくれまました。

このスクリプトを使用するには、以下の手順に従ってください。
- スプレッドシートを開きます。
 - メニューバーの「ツール」から「スクリプトエディタ」を選択します。
 - スクリプトエディタが開かれるので、そこに上記のスクリプトを貼り付けます。
 - 「ファイル」メニューから「保存」を選択します。
 - スクリプトエディタを閉じます。
 - スプレッドシートを再度開くと、今日の日付の入ったセルに自動的に移動します。
 
このスクリプトは、スプレッドシートのすべてのセルを検索し、今日の日付と一致するセルを見つけるため、大規模なスプレッドシートの場合は処理に時間がかかる可能性があります。より効率的な方法が必要な場合は、セルの範囲を制限するなどの改良が必要になるかもしれません。
「セルの範囲を制限する方がいいよ」と教えてくれたので、改良もChat GPTにやってもらいましょう。
A列のみ検索するスクリプトに書き換えてください。
あっという間に書き換えてくれました↓

Chat GPTが書き換えてくれたスクリプトです↓
function onOpen() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var today = new Date();
  var formattedDate = Utilities.formatDate(today, Session.getScriptTimeZone(), "yyyy/MM/dd");
  var range = sheet.getRange("A:A");
  var values = range.getValues();
  for (var row = 0; row < values.length; row++) {
    var cellValue = values[row][0];
    if (cellValue instanceof Date && Utilities.formatDate(cellValue, Session.getScriptTimeZone(), "yyyy/MM/dd") === formattedDate) {
      var cell = sheet.getRange(row + 1, 1);
      sheet.setActiveRange(cell);
      return;
    }
  }
}5行目が「getRange(“A:A”)」となっています。
これで、A列の範囲がしてできたようです。
さっそくテストしてみましょう!
スプレッドシートのA列に日付を並べて、今日の日付のセルに色をつけました。
スプレッドシートが開いたタイミングで、自動的に色のついたセルに移動するでしょうか?
ちょっとわかりづらいですが、ちゃんと動作しました!
プログラミングの知識がなくても、Google Apps Scriptでスプレッドシートを操作できました。
GAS以外にも、簡単なプログラミングならChatGPTに書いてもらえます。
ChatGPTはブラウザでも利用できますが、スマホアプリもあります。
興味のある方はぜひChatGPTでGASを書いてみてください。


