У меня есть этот код, который выполняет следующие функции ниже.
- Копирование спецификаций c столбцы [ Employee # , Имя сотрудника ] из листа 1 и вставьте его в Sheet2.
- После вставки удалит дубликаты из Sheet2.
- Из Sheet2 все уникальные значения будут сопоставлены / сопоставлены с Mastersheet с использованием Employee # в качестве ссылочного ключа. .
- После сравнения все несоответствующие номера сотрудников из Листа 2 должны быть добавлены в таблицу с именем сотрудника.
Теперь я застрял в №. 4 шт. У меня уже есть список непревзойденных номеров сотрудников. Тем не менее, я все еще не могу добавить эти значения в мою таблицу. Вот мой код ниже. Пожалуйста помоги. Спасибо!
function appendNewRecords(){
var gsheetID = 'xxxxxx';
var copyEmpSheetName = '[Copy Employee List Here]';
var masterSheet = 'Mastersheet';
var wrForDeletionSheet = 'Work Requests for Deletion';
var empEmails = 'Email Address Masterlist';
var ss = SpreadsheetApp.openById(gsheetID);
var appendMastersheet = ss.getSheetByName(masterSheet);
var copyToThisSheet = ss.getSheetByName(copyEmpSheetName);
var copyWrForDeletion = ss.getSheetByName(wrForDeletionSheet).getRange("B2:C");
var pasteEmpListHere = ss.getSheetByName(copyEmpSheetName).getRange("A2:B");
pasteEmpListHere.clearContent();
copyWrForDeletion.copyTo(pasteEmpListHere);
var data = pasteEmpListHere.getValues();
var newData = new Array();
for(i in data){
var row = data[i];
var duplicate = false;
for(j in newData){
if(row.join() == newData[j].join()){
duplicate = true;
}
}
if(!duplicate){
newData.push(row);
// Logger.log(row);
}
}
pasteEmpListHere.clearContent();
var numRows = newData.length;
var numColumns = newData[0].length;
// Logger.log(numRows);
// Logger.log(numColumns);
copyToThisSheet.getRange(2, 1, numRows,
numColumns).setValues(newData);
// SpreadsheetApp.flush();
var empSheet1 = appendMastersheet.getRange("A2:A").getValues();
// Logger.log(empSheet1);
var empSheet2 = copyToThisSheet.getRange("A2:A").getValues();
var empSheet1Trunc = [];
var empSheet2Trunc = [];
var empSheet1LastRow = empSheet1.length+1;
for(i=0; i< empSheet1.length; i++ ){
empSheet1Trunc.push(empSheet1[i][0]);
}
for(i=0; i< empSheet2.length; i++ ){
if(empSheet1Trunc.indexOf(empSheet2[i][0]) ==-1){
//append employee list
Logger.log(empSheet2[i][0]);
//employee id
appendMastersheet.getRange("A"+(1+empSheet1LastRow+i)).setValue(empSheet2[i][0]);
//employee name
appendMastersheet.getRange("B"+(1+empSheet1LastRow+i)).setValue(empSheet2[i][1]);
}
}
}