比较“电子邮件”字段,并删除Google表格中与重复电子邮件列对应的重复

时间:2018-11-20 05:01:14

标签: google-apps-script

我正在使用Google Apps脚本网站上的此代码示例,该代码示例删除了工作表中的重复项,但是我需要一些帮助来修改此代码以满足我的需要。

这是我的数据:https://i.imgur.com/EcUoQpf.png

列标题为:时间,姓名,电子邮件,联系人,信息流和大学名称。现在,我想删除重复的行,比较每行的电子邮件ID。

我正在使用的示例代码是

/**
 * Removes duplicate rows from the current sheet.
 */
function removeDuplicates() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var newData = [];
  for (i in data) {
    var row = data[i];
    var duplicate = false;
    for (j in newData) {
      if (row.join() == newData[j].join()) {
        duplicate = true;
      }
    }
    if (!duplicate) {
      newData.push(row);
    }
  }
  sheet.clearContents();
  sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}

请帮助我解决此问题。谢谢!

1 个答案:

答案 0 :(得分:0)

我通过更改此方法来解决它:

 if (row.join() == newData[j].join()) {
    duplicate = true;

此:

 if(row[1] == newData[j][1] && row[2] == newData[j][2]){
    duplicate = true;
  }