gpt4 book ai didi

javascript - 删除 Google 表格中的重复行

转载 作者:行者123 更新时间:2023-11-30 20:35:56 27 4
gpt4 key购买 nike

我在 Google 表格中有很多行,有些行是相同的。看图片:https://tof.cx/images/2018/04/15/4cc45aff5aa8f357527731e0bae3a1bc.png

我试图清理重复的行以变得像下一个屏幕。看图片:https://tof.cx/images/2018/04/15/8a16f3bb8dfcc758b649074574fafbfa.png

我在脚本编辑器中使用了这段代码,但运行脚本时没有任何反应。

有没有人帮我找到好的方法。

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[0] == newData[j][0] && row[1] == newData[j][1] && row[2] == newData[j][2] && row[3] == newData[j][3] && row[4] == newData[j][4]){
duplicate = true;
}
}
if(!duplicate){
newData.push(row);
}
}

sheet.clearContents();
sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}

谢谢

最佳答案

这些修改怎么样?

修改点:

  • 使用 getDisplayValues() 而不是 getValues()
    • 由此,“日期”可以与显示在电子表格单元格中的字符串进行比较。
  • 如果 duplicate 为真,则将值添加到 row
    • 这样,添加了重复的行。

修改后的脚本:

function removeDuplicates() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getDisplayValues(); // Modified
var newData = new Array();
data.forEach(function(_, i){ // Modified
var row = data[i];
var duplicate = false;
for(j in newData){
if(row[0] == newData[j][0] && row[1] == newData[j][1] && row[2] == newData[j][2] && row[3] == newData[j][3] && row[4] == newData[j][4]){
duplicate = true;
}
}
if(!duplicate){
newData.push(row);
} else {
newData.push(["", "", "", "", "", row[5], row[6]]); // Added
}
});
sheet.clearContents();
sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}

引用:

如果这不是您想要的,我很抱歉。

关于javascript - 删除 Google 表格中的重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49839045/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com