Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 循环浏览工作表,重新排列范围/数组并将其写入新工作表_Google Apps Script - Fatal编程技术网

Google apps script 循环浏览工作表,重新排列范围/数组并将其写入新工作表

Google apps script 循环浏览工作表,重新排列范围/数组并将其写入新工作表,google-apps-script,Google Apps Script,我有一个电子表格,我想获取一系列数据,并对其进行处理,使其看起来与众不同。我想我会设置多个循环 1-获取主要学生数据(A2:I26)并将其添加到新表中。 2-然后循环测试标题的范围,例如A、B、C等,并在学生详细信息后面添加这些标题。 3-然后另一个循环获取每个测试标题下的分数范围,并将其添加到测试名称之后。 我开始编写一个脚本来获取工作表范围等,但我不知道如何添加循环 仅供参考-一些我必须转换的表格的分数标题比A、B、C更多。一些我必须处理的表格可能只有A分数,一些可能有A-E分数等。 谢谢

我有一个电子表格,我想获取一系列数据,并对其进行处理,使其看起来与众不同。我想我会设置多个循环 1-获取主要学生数据(A2:I26)并将其添加到新表中。 2-然后循环测试标题的范围,例如A、B、C等,并在学生详细信息后面添加这些标题。 3-然后另一个循环获取每个测试标题下的分数范围,并将其添加到测试名称之后。

我开始编写一个脚本来获取工作表范围等,但我不知道如何添加循环 仅供参考-一些我必须转换的表格的分数标题比A、B、C更多。一些我必须处理的表格可能只有A分数,一些可能有A-E分数等。 谢谢你能给我的帮助。 布兰登 ***下面是工作表图像和简单脚本

我想拿一张像这样的纸:

并使用脚本使其看起来像这样:

函数数据报告(){
var thisSS=SpreadsheetApp.getActiveSpreadsheet(),
classData=thisSS.getSheets()[3],//包含原始数据的工作表
dataLastRow=classData.getLastRow(),
Avals=classData.getRange(“A1:A”).getValues(),
Alast=Avals.filter(字符串).length,
classDataRange=classData.getRange(3,1,9),
dataArray=classDataRange.getValues();
var testNames=classData.getRange(2,10,1,classData.getLastColumn()-9),
tnArray=testNames.getValues();
var reportSheet=thisSS.getSheets()[4];//插入新数据的工作表
var reportSheetNewRow=reportSheet.getLastRow()+1;
var newDataRange=reportSheet.getRange(reportSheet.getLastRow()+1,1,9);
newDataRange.setValues(dataArray);

}
看来我找到了答案,所以我想我应该把它贴出来。相应地重新排列图纸的循环如下所示。我相信有一个更快的方法,但这就是我想到的

函数数据报告(){
var thisSS=SpreadsheetApp.getActiveSpreadsheet(),
classData=thisSS.getSheets()[3],
dataLastRow=classData.getLastRow(),
Avals=classData.getRange(“A1:A”).getValues(),
Alast=Avals.filter(字符串).length,
classDataRange=classData.getRange(3,1,9),
standardCols=classData.getRange(“J2:2”).getValues(),
arrayOfStandards=standardCols.join().split(“,”),
filtArr=arrayOfStandards.filter(布尔值);
var dataArray=classDataRange.getValues();
对于(var i=0;i