Использование встроенной функции внутри пользовательской функции

В листах 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)

Все еще не нашли способ ссылки на другую ячейку, возможно, не создав функцию, которая будет сбрасывать активную ячейку?

Другие вопросы по тегам