【问题标题】:Google Scripts delete duplicates from select range (not whole sheet)谷歌脚本从选择范围中删除重复项(不是整个工作表)
【发布时间】:2018-07-17 06:13:59
【问题描述】:

以下是用于从电子表格中删除重复行的 Google 表格脚本。虽然它确实可以删除重复的行,但它也会在此过程中破坏单元格内的公式。我目前有一系列工作表,其中所有原始数据都包含在 A:P 列中,我的所有公式都归入 Q:T 列。

在我尝试将以下脚本限制为仅适用于列A:P 时,我在运行脚本时收到了缺少参数的错误。

var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange("A2:P").getValues();

TL:DR,我喜欢这个脚本,但我想限制它的运行范围。有什么帮助吗?谢谢。

https://developers.google.com/apps-script/articles/removing_duplicates

function removeDuplicates() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var newData = new Array();
for(i in data){
var row = data[i];
var duplicate = false;
for(j in newData){
  if(row.join() == newData[j].join()){
    duplicate = true;
  }
}
if(!duplicate){
  newData.push(row);
}
}
sheet.clearContents();
sheet.getRange(1, 1, newData.length, 
newData[0].length).setValues(newData);
}

编辑:我相信以下是一个有效的问题,但我想添加一个新的观察结果,它可能会对正在发生的事情产生一些影响(??)。当我从工作表中启动查找和替换以删除单词“null”的所有实例时,工作表会删除 null 并单独保留所有其他单元格。但是,如果我运行一个脚本来删除“null”,它会重新格式化我所有的单元格,将日期和时间更改为小数。等等。是否有一种方法可以运行脚本并避免整体意外操作,例如重新格式化工作表?

【问题讨论】:

标签: google-apps-script google-sheets


【解决方案1】:

您需要使用getRange() 函数来指定您要使用的范围。

var sheet = SpreadsheetApp.getActiveSheet();
var rng = sheet.getRange("A2:P")
var data = rng.getValues();

另外,你用这行 sheet.clearContents(); 清除整个工作表而不是使用这个

rng.clearContents()

这样你只清除rng指定范围内的内容
您的最终代码应如下所示

function removeDuplicates() {
var sheet = SpreadsheetApp.getActiveSheet();
var rng = sheet.getRange("A2:P")
var data = rng.getValues();
var newData = new Array();
for(i in data){
var row = data[i];
var duplicate = false;
for(j in newData){
  if(row.join() == newData[j].join()){
    duplicate = true;
  }
}
if(!duplicate){
  newData.push(row);
}
}
rng.clearContents();
sheet.getRange(1, 1, newData.length, 
newData[0].length).setValues(newData);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    相关资源
    最近更新 更多