Javascript 使用Google脚本应用程序删除两个重复的行

Javascript 使用Google脚本应用程序删除两个重复的行,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,是否可以通过google脚本执行excel表格公式 我想删除特定列中的每个重复数据。在本例中,它将是A列。例如,如果A16和189上的数字相同,我希望我的脚本删除整行。要清楚,从B到结束列的数据是不一样的。我想用谷歌脚本来做。我在想我是否可以执行exel的函数,比如countif,如果输出为2,则会自动删除这两个函数。如果没有,我如何执行此操作删除所有具有重复项的行和重复项 function removeDuplicatesAndRowsThatHaveDuplicatesInColumnA()

是否可以通过google脚本执行excel表格公式


我想删除特定列中的每个重复数据。在本例中,它将是A列。例如,如果A16和189上的数字相同,我希望我的脚本删除整行。要清楚,从B到结束列的数据是不一样的。我想用谷歌脚本来做。我在想我是否可以执行exel的函数,比如countif,如果输出为2,则会自动删除这两个函数。如果没有,我如何执行此操作

删除所有具有重复项的行和重复项

function removeDuplicatesAndRowsThatHaveDuplicatesInColumnA() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var rg=sh.getDataRange();
  var vA=rg.getValues();
  var dObj={uA:[]};//unique array
  var d=0;//deleted row counter
  //This removes the duplicates
  //skipped first row ... it is a header
  vA.forEach(function(r,i){
    if(i>0) {
      var idx=dObj.uA.indexOf(r[0]);
      if(idx==-1){
        dObj.uA.push(r[0]);
        dObj[r[0]]={row:i+1,value:1};
      }else{
        dObj[r[0]].value+=1;
        sh.deleteRow(i+1-d++);
      }  
    }
  });
  //Logger.log(JSON.stringify(dObj));
  //This sorts the unique array in row descending order
  dObj.uA.sort(function(a,b){return dObj[b].row-dObj[a].row;});
  //this  deletes the unique array elements that had duplicates
  dObj.uA.forEach(function(e,i){if(dObj[e].value>1){sh.deleteRow(dObj[e].row)}});
}