🧩【onEdit(e)入門】#1|「e」ってなに?自動実行のしくみをのぞいてみよう
📚 このnoteは「onEdit(e)入門シリーズ」の第1回です。
Google Apps Script(GAS)を使い始めたばかりの方向けに、
スプレッドシートの自動化に欠かせない「onEdit(e)」の基礎からやさしく解説していきます。
👀 これ、やってみたいと思ったことありませんか?
✅ チェックを入れたら行の色が変わる
📅 日付を入力したら、曜日を自動で表示
💬 コメントを書いたら、ログを別シートに残したい
こうした「編集したら自動でなにかが起きる」仕組み、
実は onEdit(e) を使えば簡単に実現できます。
🔧 onEdit(e)ってなに?
スプレッドシートでセルが編集されたときに自動で実行される関数です。
function onEdit(e) {
// 編集されたときに動く処理
}
ここで登場する (e)。
これは、編集に関する情報が入った「イベントオブジェクト」と呼ばれるものです。
「どのセルが?」「どんな値に?」「どのシート?」など、
編集の詳細がこの e にすべて詰まっています。
🧠 eの中にはこんな情報が入ってます(ざっくり)
e.range:編集されたセルの位置(Rangeオブジェクト)
e.value:編集後の値
e.oldValue:編集前の値(条件付きで取得)
e.source:編集が起きたスプレッドシート全体
e.authMode:実行時の権限タイプ(BASIC など)
これらを利用すると、
特定の列や行だけに反応させる
入力された値によって処理を分ける
編集履歴を記録する
といった「ちょっと便利な自動化」が実現できます。
🔍 Logger.log() の使い方と注意点
開発中に e の中身を確認するには Logger.log() を使います。
function onEdit(e) {
Logger.log(e);
}
▶️ ログを見る手順
「拡張機能」→「Apps Script」でスクリプトエディタを開く
「表示」→「ログ」をクリック
スプレッドシートでセルを編集し、ログを確認!
💡 Ctrl + Enter(または ⌘ + Enter)でログをすばやく開けます
⚠️ 注意:onEdit(e)は「▶️」で直接実行しても動きません!
onEdit(e) はスプレッドシートの実際の編集でしか動きません。
スクリプトエディタから直接▶️ボタンで実行しても、e が渡されないので何も起きません。
👆「eの中身」を手軽に試したいときは?
テスト関数を使えば、手で編集しなくても onEdit の動作を確認できます。
🧪 テスト関数の作り方(onEdit を手動で呼び出す)
function onEdit(e) {
Logger.log(e); // ← onEditの中でログを出力
}
function testOnEdit() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const range = sheet.getRange("B2"); // B2にあらかじめ値を入れておく
const e = {
range: range,
value: range.getValue()
};
onEdit(e); // ← onEdit に「編集されたふり」をさせる
}
▶️ 実行手順
B2セルに「テスト」など何か文字を入力しておく
スクリプトエディタで関数を testOnEdit に切り替える
▶️ 実行ボタンをクリック
「表示」→「ログ」で e の中身を確認!
✅ この方法なら、本番と同じ onEdit() の挙動をログ付きで試すことができます。
💬 補足:testOnEdit の目的
このテスト関数は、onEdit に「編集されたふり」をさせることで、
中にある処理が正しく動くか試すためのサポート関数です。
実際の動作は「スプレッドシートを手で編集したとき」に自動で行われますが、
開発中に確認したいときはこのように「手動で呼び出す」方法が便利です。
🔜 次回:eの中身をじっくり見てみよう
次回は、e.range でセルの行・列を取得したり、
e.value / e.oldValue の違いを実際に確認したり、
onEditで**よくある「うまく動かない原因」**にも触れていきます。
📚 onEdit(e)入門シリーズ(随時更新)
【#1】「e」ってなに?自動実行のしくみをのぞいてみよう(この記事)
【#2】eの中身をログで見てみよう(近日公開)
【#3】特定の列や値だけに反応させるには?(予定)
【#4】onEditでつまずくポイントと対処法(予定)
🙌 最後に…
「なんとなく使ってたけど、eってこういうものだったのか!」
そう思ってもらえたら、スキやフォローで応援してもらえるととても励みになります😊
次回もぜひお楽しみに!
いいなと思ったら応援しよう!
応援ありがとうございます!いただいたチップは、学習代として、次の記事づくりのエネルギーにさせていただきます☕✍️ これからも「毎日をちょっとラクにするGAS術」を発信していきます!