Jawaban ini adalah jika Anda langsung menuju ke Google Sheet.
Saya pikir ini akan membantu membuat Anda pergi ke arah yang benar. Saya tidak jelas apakah Anda mengatakan bahwa bidang yang akan Anda pantau tersebar di sekitar lembar, atau jika sel yang tidak berdekatan yang Anda referensikan hanyalah contoh di dalam rentang. Jika Anda memiliki sel yang ditaburi, Anda mungkin harus membuat beberapa "rentang tontonan" seperti yang telah saya catat dalam kode, dan memeriksa apakah sel yang diedit berada di dalam setidaknya satu rentang, jika tidak kembali dari fungsi.
Saya ingin mencatat bahwa saya tidak berusaha terlalu keras untuk membuat pekerjaan ini untuk mendukung penghapusan semua nilai dari rentang multi-sel.
Juga, perhatikan bahwa Anda harus masuk ke Alat -> Editor Skrip di dalam Google Sheet, dan kemudian Sumber Daya -> Pemicu (menu mungkin berbeda tergantung apa yang telah Anda lakukan di sana sebelumnya) dan menambahkan pemicu "onEdit ()" ke Lembar.
Kemudian, fungsi Anda akan seperti ini
function onEdit(e){
var DateCol = "K";
var DeletedColNote = "L";
var curDate = Utilities.formatDate(new Date(), "GMT-5", "MM/dd/yyyy")
var editRange = e.range;
var rowIndex = editRange.getRowIndex();
var colIndex = editRange.getColumnIndex();
// May need to set up multiple ranges like this and check all ranges if
// checked fields are not in adjacent cells
var watchRange = { // B2:G20
top : 2, // start row
bottom : 20, // end row
left : 2, // start col
right : 7 // end col
};
// Exit if we're out of range
if (rowIndex < watchRange.top || rowIndex > watchRange.bottom) return;
if (colIndex < watchRange.left || colIndex > watchRange.right) return;
var currentValue = editRange.getValue();
currentValue = currentValue.replace(/^\s+|\s+$/g,""); //"trim" kludge
if (currentValue.length == 0)
{
// Set a column to show when data was deleted
SpreadsheetApp.getActiveSheet().getRange(DeletedColNote + rowIndex).setValue("Deleted: " + curDate);
}
else
{
// Set a column to show last edit date
SpreadsheetApp.getActiveSheet().getRange(DateCol + rowIndex).setValue("Edited: " + curDate);
SpreadsheetApp.getActiveSheet().getRange(DeletedColNote + rowIndex).setValue("");
}
}