Использование значений ячеек в качестве значений листа - PullRequest
0 голосов
/ 25 декабря 2018

У меня есть несколько ячеек со значениями месяца, а затем у меня есть листы с этими значениями.

Google Sheets, Cell containing months and Sheets with those month names

В моем Редактор скриптов , Я должен использовать эти значения ячеек в качестве значений листа , поэтому я делаю это:

function PROD(cellMonth) {
  var val1 = cellMonth + '!G6';
  var val2 = cellMonth + '!G7';

  return val1 * val2 ;
}

Но я получаю Result was not a number как результат.

Как я могу это исправить?

Я предполагаю, что это происходит потому, что cellMonth + '!G6' это строковое значение, а не правильный способ вызова значения листа.

Например, если я сделаю это:

function PROD(input1,input2) {
  return input1 * input2;
}

И в ячейкеЯ наберу =PROD(January!E6,January!E7) Я получу результат, который я ищу.И если я сделаю это:

function PROD(cellMonth) {
  var val1 = cellMonth + '!G6';
  var val2 = cellMonth + '!G7';

  return val1 ;
}

Моя ячейка вернет January!E6, поэтому я делаю произведение двух строковых значений, а не двух чисел ...

1 Ответ

0 голосов
/ 25 декабря 2018

Вам нужно получить диапазон и значение.

function PROD(cellMonth) {
  var rngString1 = cellMonth + '!G6';
  var rngString2 = cellMonth + '!G7';
  var ss = SpreadsheetApp.getActive();
  var val1 = ss.getRange(rngString1).getValue();
  var val2 = ss.getRange(rngString2).getValue();
  return val1 * val2 ;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...