GASでGoogleスプレッドシートの編集されたセルを判定する方法

Yahoo!知恵袋の回答受付中の質問に勝手に答えるコーナーです。

今回の質問は、

Google スプレッドシート

GAS について質問です。

C列からAI列までのどこかのセルが編集された時、
A列に編集日時(タイムスタンプ)を自動で入力したいです。
取り急ぎ以下のプログラムを
書きましたが、これではB列の変更にも対応してしまい、不自由しています。

理屈や説明不要ですのでプログラムだけ教えて頂けますでしょうか?よろしくお願いします。

function onEdit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
var range = sh.getActiveRange();
var row = range.getRow();
var col = range.getColumn();

//if(col == 1){
var date = new Date();
sh.getRange(row, 1).setValue(date);
//}
}

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14218917889

回答

onEdit() の引数を受け取ることで、編集されたセルが C列からAI列までの範囲に入っているかどうかを判定できます。

スクリプト

2行目で編集された Range を取得し、5行目で編集されたセルが C列からAI列までの範囲に入っているかどうかを判定しています。

対象範囲に入っているなら、A列にタイムスタンプを設定します。