यह उत्तर है यदि आप सीधे Google शीट पर जाते हैं।
मुझे लगता है कि इससे आपको सही दिशा में जाने में मदद मिलेगी। अगर आप कह रहे हैं कि मैं यह स्पष्ट नहीं कर रहा हूँ कि आप जिन क्षेत्रों की निगरानी कर रहे हैं, उन्हें शीट के चारों ओर छिड़का हुआ है, या यदि आपके द्वारा संदर्भित गैर-आसन्न सेल एक सीमा के अंदर केवल उदाहरण थे। यदि आपके पास चारों ओर छींटे हैं, तो आपको कई "वॉच रेंज" बनाने की संभावना होगी, जैसा कि मैंने कोड में नोट किया है, और जांचें कि सेल को संपादित किया जा रहा है कम से कम एक सीमा के अंदर, अन्यथा फ़ंक्शन से बाहर लौटें।
मैं यह नोट करना चाहता हूं कि मैं एक मल्टी-सेल रेंज से सभी मूल्यों को हटाने के लिए इस काम को करने के लिए अतिरिक्त लंबाई तक नहीं गया था।
इसके अलावा, ध्यान दें कि आपको Google शीट के अंदर टूल्स -> स्क्रिप्ट एडिटर में जाना होगा, और फिर रिसोर्स -> ट्रिगर (मेन्यू अलग हो सकता है कि आपने पहले वहां क्या किया है) और "onEdit ()" ट्रिगर जोड़ें टू द शीट।
फिर, आपका फ़ंक्शन कुछ इस तरह से जाएगा
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("");
}
}