LoginSignup
5
5

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-09-17

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

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;
  }
}
5
5
4

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
  3. You can use dark theme
What you can do with signing up
5
5