В листах 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 и возвращает адрес для активная ячейка. Дополнительный престиж, если он возвращает фактическую ссылку, которая при нажатии, переходит в эту ячейку.
Если это правда, то это будет не так просто, как я надеялся: https://productforums.google.com/forum/#!topic/docs/1Vab4UYYG_0 – ZAR
Ужасно, что это не работает. В основном вы не можете использовать какие-либо существующие функции электронных таблиц в пользовательской функции. Если вы попытаетесь использовать JOIN, например, в пользовательской функции, это приводит к ошибкам, говоря, что «JOIN не определен». Точно так же вы не можете использовать другие функции, такие как SORT, ARRAYFORMULA и т. Д. Я абсолютно ошеломлен этим дизайнерским решением; он делает всю функцию бесполезной. – Triynko
Возможный дубликат [пользовательской функции Google Таблицы, сделанной из встроенных функций электронной таблицы] (http://stackoverflow.com/questions/17631870/google-spreadsheet-custom-function-made-of-built-in-spreadsheet-functions) –