我有这种格式的Google电子表格:
我想编写一个宏来删除行的第一个元素大于特定大小的行(比方说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);
}
我跑了几次但它不起作用。我的错误在哪里以及如何解决?
答案 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);
}