LoginSignup
5

More than 3 years have passed since last update.

posted at

updated at

Organization

【GAS@SpreadSheet】自作関数で入力時刻を自動的に入力

業務上でレコードの入力時刻が要求される場合があります。
一つ考えられるのは、あるセルに値が入りましたら、「入力時刻」一覧(仮)に時刻を自動的に入力する自作関数を作成する方法です。サンプルコードは以下にご参考ください。

code.gs
function setCurrentTime(value) {
  if (value) {
    var ctime = new Date();
    var hh = ctime.getHours();
    var mm = ctime.getMinutes();
    var t = hh+":"+mm;
    return t;
  }
}

自作関数が作成しましたら、スプレッドシートで下図のように関数をセルに入力します。
sample.png

上記のコードは、シートをリロードする際に時刻も更新するとの点について考慮しないので、一旦下記のコードに修正しました。
使い方については、セルに次の式を入力 =setCurrentTime_R(A1, "B1")。
■ "B1"は、時刻を表示するセルに該当する。

code_r.gs
function setCurrentTime_R(value, index) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var str_time = sheet.getRange(index).getValue();
  var str_input = value;
  var temp = "";

  if ((value) && (str_time != "")) {
    var ctime = new Date();
    var hh = ctime.getHours();
    var mm = ctime.getMinutes();
    var t = hh+":"+mm;
    return t;
  } else {
    return temp;
  }
}

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
5