【发布时间】:2017-04-11 06:39:24
【问题描述】:
我有工作代码,如果列符合条件之一,则从工作表中删除行。它基于数组,因此比标准 google sheet deleteRow 函数运行得更快。我这样称呼它:
deleteRowsBV('SIZ',4,'0','')
在哪里
deleteRowsBV(listName,ColNum,FirstSearch,SecondSearch)
我想要的是一个带有或多或少等号的调用函数,像这样:
deleteRowsBV('SIZ',4,<='0',=='')
但是对于我的 main 函数,当我指定一个变量而不是符号和值时,它不起作用。 这是主要功能:
function deleteRowsBV(listName,ColNum,FirstSearch,SecondSearch) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName(listName);
var DataLengBefore = sheet.getLastRow();
var DataColLeng = sheet.getLastColumn();
var data = sheet.getRange(1,1,DataLengBefore,DataColLeng).getValues();
for (var i = data.length-1; i >= 0; i--) {
if (data[i][ColNum] <= FirstSearch||data[i][ColNum] == SecondSearch) {
data.splice(i, 1);
}
}
sheet.getRange(10, 1, DataLengBefore,DataColLeng).clearContent();
sheet.getRange(10, 1,data.length,5).setValues(data);
}
【问题讨论】:
标签: arrays if-statement google-apps-script google-sheets