サイトアイコン Googleスプレッドシート 完全攻略

【GAS基礎講座 23.】セル更新時にタイムスタンプを表示(Gスプレッドシート)

GAS基礎講座一覧

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

前回

【GAS】特定のフォルダに新規シートを作成する方法
GASを使用して特定のフォルダに新たにスプレッドシートを作成することができます。

今回は、とっても価値の高い方法をお伝えします。


これを知ることであなたは、
こんなことが実現できます。

なので、サクッとマスターして

と答えてあげてください。

 

動画はこちら

 

 

スクリプト

function onEdit(e) {

  const ws = "timestamp"

  let row = e.range.getRow()
  let col = e.range.getColumn()
  let currnetDate = new Date()  //現在の日時

  if (row >= 2 && col == 1 && e.source.getActiveSheet().getName() === ws) { //シートがwsでかつ1列目で2行目以降か?
    e.source.getActiveSheet().getRange(row, 4).setValue(currnetDate)
    if (e.source.getActiveSheet().getRange(row, 3).getValue() === "") { //Date Enterdが空のとき
      e.source.getActiveSheet().getRange(row, 3).setValue(currnetDate)  //Date Enterdに日時を入れる
    }
  }
}

const ws = "timestamp"

シート名は、timestamp にしているのであなたの環境に合わせて
変更してください。

シートはこちら

※クリックするとシートが開きます。

 

ポイント

onEdit関数は、スプレッドシートの編集時に飛んでくる関数です。

引数は、なんでもいいのですが、通常(e)を指定します。


e.range.getRow()
e.range.getColumn()

で、現在の入力位置を取得します。

onEdit関数は、スプレッドシートを編集する度に飛んでくるので、
処理が不要な場合は早めに返して(return)あげましょう。

上記スクリプトの場合、いつでも
new Date() //現在の日時
してしまっていますが、setValueする場合のみ
new Date()したほうがいいですね^^

 

さらに

 

 

どのシートでも対応する場合

 

 

 

どのシートでも対応したいとのご質問をいただきました。

 

 

動画

スクリプト

function onEdit(e) {


  // const ws = "timestamp"


  let row = e.range.getRow()
  let col = e.range.getColumn()


  // if (row >= 2 && col == 1 && e.source.getActiveSheet().getName() === ws) { //シートがwsでかつ1列目で2行目以降か?
  if (row >= 2 && col == 1) { //1列目で2行目以降か?
    let currnetDate = new Date()  //現在の日時
    e.source.getActiveSheet().getRange(row, 4).setValue(currnetDate)
    if (e.source.getActiveSheet().getRange(row, 3).getValue() === "") { //Date Enterdが空のとき
      e.source.getActiveSheet().getRange(row, 3).setValue(currnetDate)  //Date Enterdに日時を入れる
    }
  }
}

 

ポイント

シートを比較している箇所(&& e.source.getActiveSheet().getName() === ws)を
削除すればOKです。

別件ですが、日時の取得( let currnetDate = new Date()  //現在の日時)
位置をずらし、1列目で2行目以降の場合のみ日時を取得するようにしました。

 

 

最後までご覧いただきありがとうございます。

つぎはこちら

【GAS】チェックされた行のメールを送信する方法(Gスプレッドシート)
  • GASでデータを一気に取得する方法がわかります。
  • チェックボックスでチェックされた行のデータを取得することができます。
  • GAS基礎講座一覧

    モバイルバージョンを終了