Использование встроенной функции внутри пользовательской функции
В листах Google я хотел бы, чтобы моя пользовательская функция использовала одну из встроенных функций. В частности, эта функция будет принимать строку в качестве параметра, прочесывать другой лист, чтобы найти это значение, а затем возвращать ссылку на адрес этой ячейки.
function href(findMe) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var hrefSheet = ss.getSheetByName("otherSheet");
hrefSheet.activate();
var rows = hrefSheet.getDataRange();
var numRows = rows.getNumRows();
var finds = rows.getValues()[1][0];
var hrefCellRow;
for(var i=0; i<numRows; i++){
if(finds[i][0] == findMe){
hrefCellRow = i+1;
break;
}
}
return address(hrefCellRow, 1); //address() is a function that is built in to sheets
}
Так что, если у меня есть значение "XYZ" в листе "otherSheet", когда я набираю
=href("XYZ")
Я хотел бы, чтобы он попытался найти значение XYZ и вернуть адрес активной ячейке. Дополнительные похвалы, если он возвращает фактическую ссылку, которая при щелчке идет в эту ячейку.
1 ответ
Я не думал об этом раньше. Я мог бы просто использовать адресную функцию вне скрипта и встроить пользовательскую функцию во встроенную функцию (вместо обратного, что я пытался сделать). это не так красиво, но это было бы просто
=address(href(findMe),1)
Все еще не нашли способ ссылки на другую ячейку, возможно, не создав функцию, которая будет сбрасывать активную ячейку?