arrays - 如何在不删除公式其他列的情况下删除重复项?
问题描述
这是我的简单表格:
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?
解决方案
使用内置 removeDuplicates:
const remD = () =>
SpreadsheetApp.getActive()
.getSheetByName('Data')
.getRange('A2:B')
.removeDuplicates();