0

Is it possible to perform excel sheets formula by google scripts?

I want to delete every single duplicate data in particular column. In this case it will be Col A. So for example if on A16 and A 189 is the same number I want my script to delete both whole row. And to be clear data from B to the end Column are not the same. I want to do it by google script. I was thinking if I could perform exel's functions like countif and where the output is 2 automatically delete both. If not how else could i perform such action

1 Answer 1

1

Delete all rows that have duplicates and the duplicates

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)}});
}
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.