निम्न कोड स्प्रेडशीट में एक मेनू जोड़ देगा:
जासूस> ट्रेस डिपेंडेंट
इसे चुनने से सभी निर्भर सेल संदर्भों के साथ सक्रिय सेल में एक नोट जुड़ जाएगा।
(नीचे ग्राहम द्वारा सुझाए गए स्थिर संदर्भों के लिए खोज को जोड़ा गया)
आप एक समान फ़ंक्शन को ट्रेस पर निर्भरता फ़ंक्शन में खोज सूत्र के लिए सक्रिय कक्ष के लिए पाठ के लिए खोज करने के लिए फ़ंक्शन जोड़ सकते हैं। मैं तुम्हारे लिए एक अभ्यास के रूप में छोड़ दूँगा।
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menuEntries = []
menuEntries.push({name: "Trace Dependents", functionName: "traceDependents"});
ss.addMenu("Detective", menuEntries);
}
function traceDependents(){
var dependents = []
var ss = SpreadsheetApp.getActiveSpreadsheet();
var currentCell = ss.getActiveCell();
var currentCellRef = currentCell.getA1Notation();
var range = ss.getDataRange();
var regex = new RegExp("\\b" + currentCellRef + "\\b");
var formulas = range.getFormulas();
for (var i = 0; i < formulas.length; i++){
var row = formulas[i];
for (var j = 0; j < row.length; j++){
var cellFormula = row[j].replace(/\$/g, "");
if (regex.test(cellFormula)){
dependents.push([i,j]);
}
}
}
var dependentRefs = [];
for (var k = 0; k < dependents.length; k ++){
var rowNum = dependents[k][0] + 1;
var colNum = dependents[k][1] + 1;
var cell = range.getCell(rowNum, colNum);
var cellRef = cell.getA1Notation();
dependentRefs.push(cellRef);
}
var output = "Dependents: ";
if(dependentRefs.length > 0){
output += dependentRefs.join(", ");
} else {
output += " None";
}
currentCell.setNote(output);
}