如何查找和删除一系列单元格中的重复值,同时在 Google 表格中保留重复值的第一次出现?

杰森

理想情况下,我希望能够通过整个片材(或单元格范围)来搜索和删除已重复在片层的任何值(例如,如果“ 2 ”出现在A3B8D4,然后我想保持它在A3删除它B8D4)。

我通常通过查看一列或一行的重复项(使用该UNIQUE函数)而不是整个工作表来解决这个问题

我怎样才能做到这一点?

灾难代码

这里有一些代码可以对整个工作表执行此操作。

请注意,它适用于文本和数字,并且会覆盖任何公式。

function removeDuplicates() {

    var sheet = SpreadsheetApp.getActive().getActiveSheet();
    var range = sheet.getDataRange();
    var values = range.getValues();

    var traversedValues = [];

    var rowCount = values.length;
    var colCount = values[0].length;

    for (var row = 0; row < rowCount; ++row) {

        for (var col = 0; col < colCount; ++col) {

            var value = values[row][col];

            if (traversedValues.indexOf(value) > -1) {
                values[row][col] = null;
            } else {
                traversedValues.push(value);
            }
        }
    }

    range.setValues(values);
}

给你参考

使用 Google Apps Script 进行编码的初学者指南

For 循环

if...else 声明

数组

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章