【发布时间】:2014-11-04 08:32:48
【问题描述】:
下面的代码来自这个post 的答案,关于将行值复制到新工作表(如果它存在于另一个工作表中)。
现在,如果不是将重复值复制到工作表 3,我想将它们从工作表 1 和 2 中删除(如果工作表 3 中存在)。使用相同的 spreadsheet,我有 3 个工作表。将在前 2 个工作表上比较的唯一值是第一列“ID NUMBER”。
鉴于所有 3 张工作表中存在的值 784 | John Steep | I.T Department,应删除工作表 1 和 2 中的相同行值,并在工作表 3 上保留相同的值。
function copyRowtoSheet3() {
var s1 = SpreadsheetApp.openById("ID").getSheetByName('Sheet1');
var s2 = SpreadsheetApp.openById("ID").getSheetByName('Sheet2');
var s3 = SpreadsheetApp.openById("ID").getSheetByName('Sheet3');
var values1 = s1.getDataRange().getValues();
var values2 = s2.getDataRange().getValues();
var resultArray = [];
for(var n=0; n < values1.length ; n++){
var keep = false;
for(var p=0; p < values2.length ; p++){
Logger.log(values1[n][0]+' =? '+values2[p][0]);
if( values1[n][0] == values2[p][0] && values1[n][3] == values2[p][4]){
resultArray.push(values1[n]);
Logger.log('true');
break ;// remove this if values are not unique and you want to keep all occurrences...
}
}
}
s3.getRange(+1,1,resultArray.length,resultArray[0].length).setValues(resultArray);
}
似乎找不到合适的解决方案。尝试了几个脚本,但都没有成功。
感谢您的任何意见/建议。
【问题讨论】:
标签: google-apps-script google-sheets