应用脚本:删除n行,在循环中保留1

时间:2017-11-19 11:30:37

标签: loops google-apps-script

我试图想办法在google工作表中创建一个循环,这将删除3行并保留1,再次删除3并保留1。像这样:

行1 ROW 2
ROW 3
ROW 4
行5 ROW 6
ROW 7
ROW 8

依旧......

我是一个初学者并完全坚持下去,我仍然试图通过查看搜索和Google工作表参考来做出贡献。我设法找到的是,当从工作表中删除一行时,以下行重新编号为脚本连续运行,所以我假设我需要从结束开始循环。我最初的尝试:

function myFunction() {
var doc = SpreadsheetApp.getActiveSpreadsheet();
var sheet = doc.getSheetByName("Sheet1");
var values = sheet.getRange("A:A").getValues();

for (var i = values.length - 1; i >= 0; i--) {
    sheet.deleteRow(); // here I'm totally stuck, how to delete 
                       // say 3 last and keep 4th from the bottom??
}

}

1 个答案:

答案 0 :(得分:1)

尝试以下功能

function deleteRows() {
  var doc = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = doc.getSheetByName("Sheet2");
  var values = sheet.getRange("A:A").getValues();
  var k = -3;
  for (var i = values.length; i > 0; i--) {
      Logger.log(i)
      if(k % 4 != 0){
        sheet.deleteRow(i)
      }
      k++;
  }
}