Google电子表格javascript宏会移除特定元素大于值

时间:2017-08-23 21:38:21

标签: javascript google-sheets macros

我有这种格式的Google电子表格:

enter image description here

我想编写一个宏来删除行的第一个元素大于特定大小的行(比方说650)。

我发现this very similar macro删除了重复的行,我将其更改为:

function removeBigRows() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var newData = new Array();
  for(i in data){
    var row = data[i];
    if(row[1] <650){
        newData.push(row);
      } 
  }
  sheet.clearContents();
  sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}

我跑了几次但它不起作用。我的错误在哪里以及如何解决?

1 个答案:

答案 0 :(得分:1)

数组数据是二维数组。第一行第一列是 数据[0] [0]。这将有效:

function removeBigRows() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var newData = new Array();
  for(i in data){
     if(data[i][0] <=650){
        newData.push(data[i]);
     } 
  }
  sheet.clearContents();
  sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}