如何在单元格区域中查找和删除重复值,同时又使Google表格中首次出现重复值?

时间:2019-01-10 22:26:00

标签: google-sheets

理想情况下,我希望能够搜索整个工作表(或单元格范围)并删除该工作表中重复的所有值(例如,如果“ 2 ”出现在A3B8D4,然后我想将其保留在A3中,并在B8D4中将其删除。)

我通常通过在一行或一行中查看重复项(使用UNIQUE函数而不是查看整个工作表来解决此问题。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

这里有一些代码可以完成整个工作表。

请注意,它将适用于文本和数字,并且将覆盖所有公式。

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);
}

给你的参考书

Beginner's guide to coding with Google Apps Script

For loops

if...else statements

Arrays