Googleスプレッドシートをネタ帳代わりにする時などに
追加しておくと便利な方法をご紹介。
私の場合、電車で移動中の時とか思いついた事をメモするのに、スマホのメモ帳やLINEなどにメモを取っていました。
ただその時によって書く場所がバラバラで、あとで見返す時、どこへ書いたかわからなくなってしまう事もしばしば。
そこで、Googleスプレッドシートに箇条書きしていく事にしました。
スプレッドシートに書くことで、スマホからもPCからも閲覧、編集ができるので
iPhone & Windowsやandoroid & Macの組み合わせでも情報共有ができます。
B列に思い付いた内容を書き出していき、
A列にその日の日付を自動で入力する方法があったので、ご紹介いたします。
手順
-
スプレッドシート上部にあるメニューから「拡張機能」→「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に聞くと教えてくれます。