我正在尝试制作一个脚本,它将从电子表格与供应商列表中创建一个表格。电子表格有超过一千个条目,所以我的脚本处理速度非常慢。下面是代码对大型电子表格中的数据进行分类
function SupplerAnalysis() {
//Importing data
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
//Creating a sheet
if (ss.getSheetByName("Analysis") !=null) {
//Logger.log('exists');
} else {
//Logger.log('Creating new');
ss.insertSheet("Analysis");
}
var sheetNumber = ss.getSheetByName("Analysis").getIndex() - 1;
ss.getSheetByName("Analysis").clear();
var newsheet = ss.getSheets()[sheetNumber];
var newdata = newsheet.getDataRange().getValues();
newsheet.getRange(1, 1).setValue('Suppliers');
//Get list of suppliers
for (var s = 1; s < data.length; s++) {
var supplier = data[s][3];
var z = 1;
newdata = newsheet.getDataRange().getValues();
for (var r = 1; r < newdata.length;r++) {
if (supplier === newdata[r][0]) {
z = 2;
} else { Logger.log(r);}
}
if (z === 1) {
newsheet.getRange(r+1, 1).setValue(supplier);
} else if (z > 1) { Logge.log('Error');
}
}
列数据[S] [3]是供应商不同作业的列表。有超过一千个参赛作品,共有约160家供应商。该脚本需要大约5分钟才能执行,这非常缓慢且无效。
如何更改代码以加快此过程? 有没有什么办法可以将NewCategoryFilter的输出放入表中?
要标记帖子已解决,您必须简单地“接受”,它将向答复者授予15个代表。编辑标题并不是这个平台上的常用用法。 –
谢谢。对不起,我是新来的:) –
同样也是斯里兰卡,感谢你也要更正:) –