我做了很长时间的搜索,无法找到我要找的东西。也许有人在那里可以帮忙吗?
我有一个Google Apps脚本,用于删除D列中包含“Hello”的电子表格中的行。
function deleteRow() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('Sheet1');
var values = s.getDataRange().getValues();
for( var row = values.length -1; row >= 0; --row )
if (values[row][3] == 'Hello')
s.deleteRow(parseInt(row)+1);
};
但是,我需要一个只删除一行的脚本 - 列D中带有'Hello'的最低行。 此外,还有一个类似的脚本,用D列中的'Hello'删除最高行。
有谁知道如何实现这一目标?非常感谢您的宝贵帮助。
第一列是时间戳(数据来自表单),因此如果脚本可以删除D列中包含“Hello”的最旧行,那也可以! (类似地,在D列中用'hello'删除最近一行的脚本。)
答案 0 :(得分:1)
其实非常简单。只要你达到最高或最低的行就会爆发(我假设第1行为高,第10行为低)。
function deleteHighestRow() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('Sheet1');
var values = s.getDataRange().getValues();
for( var row = 0; row < values.length ; row ++ ){
if (values[row][3] == 'Hello'){
s.deleteRow(row+1);
break;
}
}
};
function deleteLowestRow() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('Sheet1');
var values = s.getDataRange().getValues();
for( var row = values.length -1 ; row >= 0 ; row-- ){
if (values[row][3] == 'Hello'){
s.deleteRow(row+1);
break;
}
}
};