У нас ежедневно появляются новые записи в листе Google с использованием XML (лист 1).Мы используем приведенный ниже код для переноса этих записей в отдельный лист Google для конечных пользователей (лист 2).Конечные пользователи могут затем редактировать данные.Мы пытаемся сравнить идентификационные номера в листе 1 и листе 2. Каждый раз, когда мы запускаем код, идентификационные номера из листа 1, которые не совпадают в листе 2, должны добавляться к листу 2. Если идентификационный номер в листе 1уже существует на листе 2, этот идентификационный номер следует пропустить.Это не пропуск матчей.Вместо этого он добавляет все в лист 2 каждый раз, когда мы запускаем код, а лист 2 теперь содержит дубликаты.
for(var i = 1; i < slateDT.length; i ++) {
var bannerid = slateDT[i][0];
var match = "No Match";
var j = 1;
while(j < gradingDT.length && match == "No Match") {
var matchID = gradingDT[j][1].trim();
if(bannerid.trim() != matchID){
j++;
} else {
match = "Match";
}
}
if(match == "No Match"){
additions.push(moveColumns(slateDT[i]));
}
}
if(additions.length > 0) {
gradingSS.getRange(gradingDT.length + 1, 2, additions.length, additions[0].length).setValues(additions);
gradingDT = getDataValues(gradingSS.getName());
var sortRng = gradingSS.getRange(2, 1, gradingDT.length, gradingDT[0].length);
sortRng.sort(3);
}
function moveColumns(studentRow) {
studentRow.splice(17, 3);
var v = checkDefined(studentRow.splice(20, 1));
studentRow.splice(10, 0, v.join());
v = checkDefined(studentRow.splice(18, 1));
studentRow.splice(13, 0, v.join());
v = checkDefined(studentRow.splice(20));
studentRow.splice(14, 0, v.join());
return studentRow;
}