Добавить текст к выводу значений массива - PullRequest
0 голосов
/ 06 октября 2018

Я только начал изучать Apps Script, и мне нужно добавить текст к каждому значению массива.Этот код просто помещает значения в другой столбец:

function getData() {
  var sheet1 = SpreadsheetApp.getActiveSpreadsheet()
      .getSheetByName("Stocks");
  var symbol = sheet1.getRange('A1:A7').getValues();
  sheet1.getRange('C1:C7').setValues(symbol);
}

Я хочу добавить текст к выводу, например так:

function getData() {
  var sheet1 = SpreadsheetApp.getActiveSpreadsheet()
      .getSheetByName("Stocks");
  var symbol = sheet1.getRange('A1:A7').getValues();
  sheet1.getRange('C1:C7').setValues(
      '=GOOGLEFINANCE("FRA:' + symbol + ")'
  );
}

Но я знаю, что это не сработает,Как мне добавить к каждому написанному значению?

1 Ответ

0 голосов
/ 06 октября 2018

используйте цикл для просмотра массива значений

function getData() {
  var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Stocks");
  var symbol = sheet1.getRange('A1:A7').getValues();
  var destRange = sheet1.getRange('C1:C7');

  for (var i = 0; i < symbol.length; i++)
    symbol[i][0] = '=GOOGLEFINANCE("FRA:' + symbol[i][0] + '")');

  destRange.setFormulas(symbol);
}

Поскольку диапазон A1:A7 и C1:C7 имеют одинаковую ширину и высоту, вы можете использовать этот массив, чтобы затем использовать setFormulas(array) изКонечно, используйте этот метод, если вы используете только один раз symbol массив, если нет, тогда объявите пустой массив для вашего цикла следующим образом:

var resultArray = []

, затем внутри цикла for:

 resultArray.push(['=GOOGLEFINANCE("FRA:' + symbol[i][0] + '")']);

затем используйте вне цикла for setFormulas():

destRange.setFormulas(resultArray);
...