セル編集後、隣接セルに更新日時を自動的に打刻したい (Googleスプレッドシート)

 スクリプトを使って実現します。たとえば、シート1のA列の2行目以降が編集されたら隣のB列のセルに更新日時を打刻するといった例を考えてみます。

 まず、「ツール→スクリプトエディタ」からスクリプトエディタを開き、デフォルトのfunction myfunction(){}は削除し、以下のように記述します。

(コード)
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();

function onEdit(e) {
  var row = e.range.getRow();
  var col = e.range.getColumn();
  if (sh.getSheetName() === "シート1" && (row >= 2) && (col === 1)) {
    var timestamp = Utilities.formatDate(new Date(),"JST","yyyy/MM/dd"+"("+"HH:mm:ss"+")");
    sh.getRange(row, col+1).setValue(timestamp);
  }
}

 保存したら実行ボタンは押さずにそのままシートに戻ります。


試しにセルA5に何でもいいので入力してみましょう。隣のセルB5に更新日時が打刻されると思います。

(結果)


コメント

このブログの人気の投稿

SPLIT関数 / 文字列を区切り文字で分割する (Googleスプレッドシート)