নিম্নলিখিত কোডটি স্প্রেডশিটে একটি মেনু যুক্ত করবে:
গোয়েন্দা> নির্ভরশীলদের সন্ধান করুন
এটি নির্বাচন করা সমস্ত নির্ভরশীল সেল রেফারেন্স সহ সক্রিয় কক্ষে একটি নোট যুক্ত করবে।
(নীচে গ্রাহামের পরামর্শ অনুসারে স্থির রেফারেন্সের জন্য অনুসন্ধান যুক্ত করা হয়েছে)
সূত্র ফাংশনে সন্ধানের জন্য সক্রিয় কক্ষে পাঠ্য সন্ধান করতে আপনি ট্রেসডিপেন্ডেন্টস ফাংশনে অনুরূপ ফাংশন যুক্ত করতে পারেন। আমি এটি আপনার অনুশীলন হিসাবে ছেড়ে দেব।
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);
}