来自循环的重复数据

时间:2018-05-18 20:32:28

标签: javascript loops google-sheets

当我运行下面的脚本时,它复制了一些数据,我无法弄清楚原因。如果列K =" X"我试图将行从一张纸复制到另一张。如果确实如此,我会添加" New Hire"今天的日期分别在M栏和Q栏。

当脚本运行第一个循环时,它可以正常工作。在后续循环中,它还捕获先前循环中的数据。出于隐私原因,我无法分享相关表格。这是我的剧本几乎可以运作......



function copier() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('NewHires'); 
  var testrange = sheet.getRange('K:K');
  var testvalue = (testrange.getValues());
  var csh = ss.getSheetByName('Roster'); 
  var data = [];

  for each(i = 0; i < testvalue.length; i++) {
    if ( testvalue[i] == 'X') {
      data.push.apply(data, sheet.getRange(i + 1, 1, 1, 6).getValues());
    
      var clear = sheet.getRange(i + 1, 1, 1, 6);
      var reset = sheet.getRange(i + 1, 9);

      csh.getRange(csh.getLastRow() + 1, 1, data.length, data[0].length).setValues(data);
      reset.setValue(false);
      clear.clearContent();
 
      csh.getRange(csh.getLastRow(),13, 1, 1).setValue("New Hire");
      csh.getRange(csh.getLastRow(),17, 1, 1).setValue(new Date).setNumberFormat("mm/dd"); 
    }
  }
}
&#13;
&#13;
&#13;

0 个答案:

没有答案