我刚刚开始学习Apps脚本,我需要向数组的每个值添加一些文本。这段代码只是将值放在另一列中:
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 + ")'
);
}
但是我知道这行不通。如何添加到每个要写入的值?
答案 0 :(得分:0)
使用循环遍历您的值数组
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)
,如果只使用一次{{1} }数组(如果没有),则在循环之前声明一个空数组:
symbol
然后在您的for循环内执行:
var resultArray = []
然后在for循环 resultArray.push(['=GOOGLEFINANCE("FRA:' + symbol[i][0] + '")']);
外使用:
setFormulas()