我有两片与下列数据集:循环超过两列和复制,只有当项目被匹配的行
表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的每一列进行比较,并且对于每个缺失的日期,我想将相应的数据复制到Shee牛逼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:我重写我的大部分问题。一点也不清楚。我希望现在好转!
只在最后缺少行吗?如果不是,那么你需要分别跟踪你的“当前第2页的行”。 例如 2016年5月12日 2016年6月12日 2016年7月12日 对 2016年5月12日 2016年7月12日 不匹配,因为sheet1中有2016年7月12日在其第三排,而第二张在第二排上有7/12/2016。 –
你是否期望他们被订购?或者任何日期都可以在另一张纸上的任何地方? –
它将永远在最后,并始终订购。换句话说,表1和表2中的日期列之间唯一可能的差异是最后的缺失日期。 –