google-apps-script - 根据一列删除重复项并在 Google 表格中保留最新条目

标签 google-apps-script google-sheets automation scripting

我正在研究一些自动化,并希望通过根据第三列进行比较来删除我的谷歌工作表中的重复行。我发现一个代码可以完美运行,但它不会删除工作表中的旧条目,而是删除最新的条目。我想保留最新的副本。

这是我通过 Cooper 为 appscript 找到的代码:

function removeDuplicates() {
  var sh=SpreadsheetApp.getActiveSheet();
  var dt=sh.getDataRange().getValues();
  var uA=[];
  var d=0;
  for(var i=0;i<dt.length;i++) {
    if(uA.indexOf(dt[i][2])==-1) {
      uA.push(dt[i][2]);
    }else{
      sh.deleteRow(i+1-d++);
    }
  }
}

任何人都可以帮助我编写执行相同工作的代码“基于列删除重复行(保留最新条目删除旧条目)”吗?

最佳答案

来自我想从重复项中保留最新的一个。,当最新的一个是最后一行时,在你的脚本中,下面的修改怎么样?

修改后的脚本:

function removeDuplicates() {
  var sh = SpreadsheetApp.getActiveSheet();
  var dt = sh.getDataRange().getValues();
  var uA = [];
  for (var i = dt.length - 1; i >= 0; i--) {
    if (uA.indexOf(dt[i][2]) == -1) {
      uA.push(dt[i][2]);
    } else {
      sh.deleteRow(i + 1);
    }
  }
}

关于google-apps-script - 根据一列删除重复项并在 Google 表格中保留最新条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71029871/

相关文章:

google-sheets - Google Spreadsheet API v3 - 如何通过 id 获取单个电子表格

html - 如何将 HTML 表单数据发送到 Google 表格?

tfs - 工作项是否可以(或需要)在 TFS 中对构建进行排队?

javascript - 使用 javascript 将图像客户端从网站下载到硬盘

google-apps-script - 如何过滤 Gmail 邮件头并将 "via"停止为标签

javascript - 异步调用始终返回失败处理程序

javascript - 语法错误: Unexpected identifier while Parsin XML Data Using Google App Script

android - 在android模拟器上测试,传入短信

google-apps-script - 如何将参数传递给 google-app-script 中的触发函数

javascript - 清除多个工作表中的多个范围