我有一个包含数据的范围,我需要一个脚本来查找第一列中的重复项,并清除该范围内孔行的内容。
从此
对此
我找到了这个脚本,但是它删除了整行。我只需要清除内容即可。
function ClearDuplicates() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("03");
var rows = sheet.getLastRow();
var firstColumn = sheet.getRange("A:A").getValues();
for (var i = rows; i >= 2; i--) {
if (firstColumn[i-1][0] == firstColumn[i-2][0]) {
sheet.deleteRow(i);
}
}
}
答案 0 :(得分:1)
您需要从A列检索数组数据,并与同一个数组进行比较以遍历它。发生匹配时,应用clearContent()函数[1]清除该范围内的内容(首先获取要在该行中清除的范围)。
function ClearDuplicates() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
var rows = sheet.getLastRow();
var firstColumnValues = sheet.getRange("A1:A" + rows).getValues();
for (var i = 0; i < firstColumnValues.length; i++) {
var value = firstColumnValues[i][0];
for (var j = 0; j < firstColumnValues.length; j++) {
var comparisonValue = firstColumnValues[j][0];
if ((value == comparisonValue) && (j>i)) {
//You need to change the number of columns to which you need to clear the contents, in this case is 10
sheet.getRange(j+1, 1, 1, 10).clearContent();
}
}
}
}
[1] https://developers.google.com/apps-script/reference/spreadsheet/range#clearcontent
答案 1 :(得分:0)
您可以抓取范围并清除它,如下所示:
sheet.getRange("R"+i+"C").clear();