【发布时间】:2017-05-08 23:44:18
【问题描述】:
循环的目标是使用单元格引用递增 1 的公式填充 5 列 A、B、C、D 和 E 的 797 行中的每个单元格。
例如从第 6 行开始的 A 列将具有公式“=indirect("'Data Repository'!A3++")"
从第 6 行开始的 B 列将具有公式“=indirect("'Data Repository'!B3++")"
当我运行该函数时会发生什么,但是它只填充 A 列。我检查了执行记录,并在第一列被填满后记录了执行成功。我尝试了各种变体无济于事。
以下是我测试的最后一个变体:
function indirect(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Fleet - Weekly V3");
var formulaArray = [];
var columns = ["A","B","C","D","E"];
var row = 2;
var text = '=indirect(\"\'Data Repository\'!';
var headerRow = 6;
var column;
for(i = 0; i < 5; i++) {
column = parseInt(i) + 1;
formula = text + columns[i];
for(i = 0; i < 797; i++) {
row += 1;
if (formulaArray.length == 797) {
sheet.getRange(headerRow, column).offset(0, 0, formulaArray.length).setValues(formulaArray);
} else {
formulaArray.push([formula + row + '")']);
}
Logger.log(formulaArray.length);
}
Logger.log(i)
formulaArray = [];
}
}
【问题讨论】:
标签: arrays google-apps-script google-sheets