Javascript 使用Google脚本应用程序删除两个重复的行
是否可以通过google脚本执行excel表格公式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()
我想删除特定列中的每个重复数据。在本例中,它将是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)}});
}