我正在嘗試製作一個腳本,它將從電子表格與供應商列表中創建一個表格。電子表格有超過一千個條目,所以我的腳本處理速度非常慢。下面是代碼對大型電子表格中的數據進行分類
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個代表。編輯標題並不是這個平臺上的常用用法。 –
謝謝。對不起,我是新來的:) –
同樣也是斯里蘭卡,感謝你也要更正:) –