如何删除重复行,同时根据B& B中的重复数据仅保留第一行C列。要按顺序检查行

时间:2018-01-14 19:47:47

标签: google-apps-script google-sheets

我有一个谷歌电子表格,其中包含我的投资组合历史记录中的结束日期投资组合数据'表,我要删除B列和B列中有重复数据的行。 C同时保留第一行的最旧数据。(例如重复数据' 123' B列第19,20,21行和第4567行' C列第19,20,21行在这种情况下,我只需要第一行输入第19行,第20行,第21行被删除。)需要按顺序检查行,以便在B列和B列中重复这些行。 C.我该怎么做?感谢!!!

图片https://photos.app.goo.gl/7Ufowk4r7K9Gdpsw1

1 个答案:

答案 0 :(得分:0)

Try this:

function removeDupesInBAndC(){
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('portfolio history');
  var rg=sh.getDataRange();
  var vA=rg.getValues();
  var dupesA=[];
  var delA=[];
  for(var i=0;i<vA.length;i++){
    var s=vA[i][1].toString() + vA[i][2].toString();
    var idx=dupesA.indexOf(s);
    if(idx>-1){
      delA.push(idx);
    }else{
      dupesA.push(s);
    }
  }
  for(var i=delA.length-1;i>-1;i--){
    sh.deleteRow(i+1);
  }
}