Я пытаюсь создать скрипт, который создаст таблицу из таблицы со списком поставщиков. Электронная таблица имеет более тысячи записей, поэтому мой скрипт обрабатывает ее очень медленно. Вот кодклассифицировать данные из большой таблицы
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 повторений. Редактирование названия не является распространенным явлением на этой платформе. –
Спасибо. Извините, что я новичок здесь :) –
Также Srik, спасибо вам за исправления :) –