Сравните и добавьте новые записи в лист назначения с помощью скрипта Google Apps - PullRequest
0 голосов
/ 09 января 2020

У меня есть этот код, который выполняет следующие функции ниже.

  1. Копирование спецификаций c столбцы [ Employee # , Имя сотрудника ] из листа 1 и вставьте его в Sheet2.
  2. После вставки удалит дубликаты из Sheet2.
  3. Из Sheet2 все уникальные значения будут сопоставлены / сопоставлены с Mastersheet с использованием Employee # в качестве ссылочного ключа. .
  4. После сравнения все несоответствующие номера сотрудников из Листа 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]);

    }

  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...