Câu trả lời này là nếu bạn đi thẳng vào Google Sheet.
Tôi nghĩ rằng điều này sẽ giúp bạn đi đúng hướng. Tôi không rõ nếu bạn nói rằng các trường bạn sẽ theo dõi được rắc xung quanh trang tính hoặc nếu các ô không liền kề mà bạn tham chiếu chỉ là ví dụ trong phạm vi. Nếu bạn có các ô được rắc xung quanh, bạn có thể sẽ phải tạo nhiều "phạm vi đồng hồ" như tôi đã lưu ý trong mã và kiểm tra xem ô đang được chỉnh sửa nằm trong ít nhất một phạm vi, nếu không thì sẽ quay trở lại chức năng.
Tôi muốn lưu ý rằng tôi đã không đi thêm chiều dài để thực hiện công việc này vì đã hỗ trợ xóa tất cả các giá trị khỏi phạm vi đa ô.
Ngoài ra, lưu ý rằng bạn sẽ phải truy cập vào Công cụ -> Trình chỉnh sửa tập lệnh bên trong Trang tính Google và sau đó là Tài nguyên -> Trình kích hoạt (menu có thể khác nhau tùy thuộc vào những gì bạn đã làm trong đó trước đó) và thêm trình kích hoạt "onEdit ()" vào tờ.
Sau đó, chức năng của bạn sẽ đi một cái gì đó như thế này
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("");
}
}