清除插入删除行的内容

时间:2019-11-24 03:30:55

标签: google-apps-script google-sheets scripting duplicates

我有一个包含数据的范围,我需要一个脚本来查找第一列中的重复项,并清除该范围内孔行的内容。

从此

enter image description here

对此

enter image description here

我找到了这个脚本,但是它删除了整行。我只需要清除内容即可。

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

2 个答案:

答案 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();