理想情况下,我希望能够通过整个片材(或单元格范围)来搜索和删除已重复在片层的任何值(例如,如果“ 2 ”出现在A3
,B8
和D4
,然后我想保持它在A3
删除它B8
和D4
)。
我通常通过查看一列或一行的重复项(使用该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);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句