循环两列并仅在项匹配时复制行

时间:2017-02-22 12:56:28

标签: javascript google-apps-script

我有两张包含以下数据集的表格:

表1:

05/12/2016  366505  3299193 217374
06/12/2016  345886  3328374 219832
07/12/2016  328152  3348070 221501
08/12/2016  171627  3308919 222948
09/12/2016  338694  3344380 225481

表2:

05/12/2016  366505  3299193 217374
06/12/2016  345886  3328374 219832
07/12/2016  328152  3348070 221501
08/12/2016  blank   blank   blank
09/12/2016  blank   blank   blank

我希望能够遍历工作表1的每一列 然后与表2的每一列进行比较,对于每个缺失的日期,我想复制表2中的相应数据。

到目前为止,我已经能够写到这一点,但我不确定我应该使用的逻辑以及我应该如何组织代码:

function myFunction() {

var sheet1 = SpreadsheetApp.openById("ID").getSheetByName("Sheet1");
var sheet2 = SpreadsheetApp.openById("ID").getSheetByName("Sheet2");

var date1 = sheet1.getRange(2, 1, sheet1.getLastRow()).getValues(); 
var date2 = sheet2.getRange(2, 1, sheet1.getLastRow()).getValues();


  var lastRow = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0].getLastRow()

  for (var i = 0; i < date1.length; i++){
      var list1 = date1[i][0];
      var list2 = date2[i][0];
  if ( //comparison between list1 and list 2 here ){
  var data1 = sheet1.getRange(1,2).getValue();
  var data2 = sheet1.getRange(1,3).getValue();
  var data3 = sheet1.getRange(1,4).getValue();
  sheet2.getRange(i+1, 1,sheet1.getLastRow(), sheet1.getLastColumn()).appendRow([data1,data2,data3]);}

}

编辑#1:我重写了我的大部分问题。它根本不清楚。我希望现在好多了!

1 个答案:

答案 0 :(得分:0)

这里有一个有用的代码:

Recursion