0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Google AppScriptを使ってスプレッドシートに自動で日付を入れる方法

Posted at

ChatGPT Image 2025年5月1日 11_48_32.png

Googleスプレッドシートをネタ帳代わりにする時などに
追加しておくと便利な方法をご紹介。

私の場合、電車で移動中の時とか思いついた事をメモするのに、スマホのメモ帳やLINEなどにメモを取っていました。
ただその時によって書く場所がバラバラで、あとで見返す時、どこへ書いたかわからなくなってしまう事もしばしば。

そこで、Googleスプレッドシートに箇条書きしていく事にしました。
スプレッドシートに書くことで、スマホからもPCからも閲覧、編集ができるので
iPhone & Windowsやandoroid & Macの組み合わせでも情報共有ができます。

B列に思い付いた内容を書き出していき、
A列にその日の日付を自動で入力する方法があったので、ご紹介いたします。

手順

  1. スプレッドシート上部にあるメニューから「拡張機能」→「Apps Script」を選択。

  2. 下記のコードを貼り付けて保存。

Apps Script
function onEdit(e) {
  var sheet = e.source.getActiveSheet();
  var range = e.range;

  // B列に入力があった場合
  if (range.getColumn() == 2) {
    var row = range.getRow();
    var dateCell = sheet.getRange(row, 1);

    // A列が空欄の場合にのみ日付を入力上書き防止
    if (!dateCell.getValue()) {
      dateCell.setValue(new Date());
    }
  }
}

注意
Scriptの記述画面で「Run」を実行すると、

TypeError: Cannot read properties of undefined (reading 'source') onEdit @ Code.gs:2
というエラーが出ますが、このエラーはGoogle Apps Script の「onEdit」関数をスクリプトエディタ内で直接実行したときによく発生するもの。

確認するときはスクリプトエディタ内ではなく、元にスプレッドシートのB列に値を入れてA列に日付が入るか確認してみてください。

うまくいかない時はChatGPTに聞くと教えてくれます。

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?