【问题标题】:How to remove duplicate rows while keeping only first row based on duplicate data in B & C columns. Rows to be checked sequentially如何根据 B & C 列中的重复数据删除重复行,同时仅保留第一行。要按顺序检查的行
【发布时间】:2018-01-14 19:47:46
【问题描述】:

我有一个谷歌电子表格,在我的“投资组合历史”表中填充了日终投资组合数据,因此我需要删除 B 和 C 列中存在重复数据的行,同时保留第一行的最旧数据.(例如,B 列第 19、20、21 行和“4567”列 C 第 19、20、21 行中的重复数据“123”。在这种情况下,我只需要第一个条目即可删除第 19 行、第 20 行、第 21 行) .需要按顺序检查行是否存在 B 列和 C 列中的重复项。我该怎么做?谢谢!!!

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

【问题讨论】:

标签: google-apps-script google-sheets


【解决方案1】:

试试这个:

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);
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-31
    • 2022-06-27
    • 2021-04-25
    • 1970-01-01
    • 2020-09-29
    • 2020-06-30
    • 1970-01-01
    • 2015-10-26
    相关资源
    最近更新 更多