Параметры ячейки скрипта электронной таблицы Google - PullRequest
1 голос
/ 18 ноября 2011

Привет, у меня проблемы с передачей 2 ячеек в параметрах моих скриптов:

function myFunction(c1, c2) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[1]; //This is the correct sheet
var valueFirstCell = sheet.getRange(c1).getValue(); 
var valueSecondCell = sheet.getRange(c2).getValue();
return valueSecondCell - valueFirstCell;
}

Итак, я использую это в ячейке A3:

=myFunction(A1, A2)

И скажем, A1 = 10 и A2 =15 Я хотел бы, чтобы A3 показывал 5, но

var valueFirstCell = sheet.getRange(c1).getValue(); 

терпит неудачу "Аргумент должен быть диапазоном" Есть идеи?

Ответы [ 2 ]

2 голосов
/ 13 апреля 2012

В пользовательской функции c1 и c2 в вашем скрипте фактически будут значением того, что находится в этих ячейках, так что вы можете просто использовать их напрямую. Вы можете увидеть это, добавив Logger.log (c1); и Logger.log (c2); к вашему сценарию. Попробуйте это:

function myFunction(c1, c2) {
  Logger.log(c1);
  Logger.log(c2);
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[1]; //This is the correct sheet

  return c2 - c1;
}

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

0 голосов
/ 11 мая 2012

Правильно сказать, что аргумент функции getRange не соответствует ожидаемому.

ссылка на документацию getRange ()

...