首页 > 解决方案 > 如何在不删除公式其他列的情况下删除重复项?

问题描述

这是我的简单表格:

Col A:       Col B:    Col C:                       Col D:
010Mar0100   Link      =mid(A2,find(".",A2)-10,10)  =vlookup(C2,MAIN!B:B,1,false)
010Mar0110   Link      =mid(A3,find(".",A3)-10,10)  =vlookup(C3,MAIN!B:B,1,false)
020Mar0100   Link      =mid(A4,find(".",A4)-10,10)  =vlookup(C4,MAIN!B:B,1,false)
020Mar0100   Link      =mid(A5,find(".",A5)-10,10)  =vlookup(C5,MAIN!B:B,1,false)
030Mar0100   Link      =mid(A6,find(".",A6)-10,10)  =vlookup(C6,MAIN!B:B,1,false)

Col C 和 D 具有我需要的返回值的公式。Col A 和 B 每天刷新

我想添加一个脚本来删除重复项而不删除我在 col C 和 D 中的公式

每次我使用这个脚本时,它都会这样做。

function removeDuplicates() {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getSheetByName('Data');
 var rng = sheet.getRange("A2:B")
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);
}

我需要进行什么更改才能使其仅关注 Col A 和 B?

标签: arraysgoogle-apps-scriptgoogle-sheets

解决方案


使用内置 removeDuplicates

const remD = () =>
  SpreadsheetApp.getActive()
    .getSheetByName('Data')
    .getRange('A2:B')
    .removeDuplicates();

推荐阅读