Как создать пользовательскую функцию, которая возвращает данные в несколько ячеек

Мне нужно создать пользовательскую функцию в скрипте Google Apps, которая позволит мне вводить местоположение определенных ячеек, а затем функция будет выводиться в новые ячейки. Это то, что я пробовал:

function SetRange(RowNum) {
  var app = SpreadsheetApp;
  var ss = app.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();

  sheet.getActiveCell(),setValue(45)
  sheet.getRange(RowNum,24),setValue(51);

  }

Я получаю сообщение об ошибке: «SetValue не определено. Я создаю эту программу по мере того, как учусь, поэтому есть некоторые факты, о которых опытные программисты знают, но я их не знаю. Еще раз спасибо за вашу помощь.


person Charlie Cannon    schedule 26.01.2018    source источник
comment
Должно быть .setValue(45), а не ,setValue(45). Обратите внимание на использование точки, а не запятой.   -  person Jack Brown    schedule 26.01.2018
comment
Я исправил это и получил следующее: Ошибка У вас нет разрешения на вызов setValue (строка 6).   -  person Charlie Cannon    schedule 26.01.2018
comment
Я вижу, вы пишете пользовательскую функцию! Пользовательские функции могут изменять только ту ячейку, из которой они вызываются. Подробнее здесь   -  person Jack Brown    schedule 26.01.2018


Ответы (1)


Пользовательские функции могут возвращать массив значений, но не могут использовать setValue() или setValues().

Пример

function demo(){
  var output = [
    [1,2],
    [3,4]
  ]
  return output;
}

Если мы добавим =demo() к A1, результат будет:

  |  A  |  B  |
--+-----+-----+
 1|    1|    2|
 2|    3|    4|
person Rubén    schedule 27.01.2018