Google脚本从一个工作表复制新添加的行,并且仅当第二个工作表中不存在该行时才追加到另一行

问题描述 投票:0回答:1

我有一个由工作表自动填充的Google工作表(工作表1)。现在,我只想将新添加的行复制到工作表2中,如果工作表2中不存在该行。我试图匹配两个工作表中的列1,并且如果工作表2中不存在该行,则应将行添加到工作表2中我在Google脚本方面没有太多经验。这是我的代码。

  var s1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Original');
  var s2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Filtered');
  var values1 = s1.getDataRange().getValues();
  var values2 = s2.getDataRange().getValues();
  var resultArray = [];
  for(var n=0; n < values1.length ; n++)
  {
    var keep = false;
    var counter = 0;
    for(var p=0; p < values2.length ; p++)
    {
      if( values1[n][1] == values2[p][1])
      {
        keep = true;
        break ;
      }
    }
    if(keep == false)
    {
      resultArray.push(values1[n]);      
      s2.appendRow();
      resultArray = [];
      keep = false
    }  
  }
}
google-apps-script append
1个回答
1
投票

您需要将参数传递给appendRow函数。您目前未添加任何内容。参见此处的示例。

var aRow = ["col1", "col2", "col3"];
SpreadsheetApp.getActiveSheet().appendRow( aRow );

最后,您应该有一个数组,其中要填充要为特定行复制的值。如果该行在sheet2中不存在,则将其添加到那里。

© www.soinside.com 2019 - 2024. All rights reserved.