我正在尝试使用appscript遍历和转换数据集。之后,加载到另一张纸上。
当前仅找到解决方案以按行循环并按范围复制。 (代码不是我的)
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
var lines = SpreadsheetApp.openById("SHEET ID");
//
//
var sheet = lines.getSheetByName("Main")
var linevalues = sheet.getRange("A:F").getValues();
var lastrow=sheet.getLastRow();
如果第一张纸具有数据框:
[apple, 2]
[orange, 3]
它应该附加到新工作表上:
[apple, 1]
[apple, 2]
[orange, 1]
[orange, 2]
[orange, 3]
答案 0 :(得分:1)
如果我正确理解了您的问题,请使用以下代码:
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var mainSheet = ss.getSheetByName("Main");
var resultSheet = ss.getSheetByName("Result");
var linevalues = mainSheet.getDataRange().getValues();
var results = [];
for (var i=0; i<linevalues.length; i++) {
var row = linevalues[i];
for (var j=1; j<=row[1]; j++) {
results.push([row[0], j]);
}
}
resultSheet.getRange(1, 1, results.length, results[0].length).setValues(results);
}
您应该获得以下结果:
请注意,为了获得这些结果,您将需要一个包含两个表格的电子表格,它们与上面的名称匹配。如果您对代码有任何疑问,请随时回复。