我正在尝试创建一个脚本,该脚本将在单元格包含但不完全匹配条件的情况下自动删除该行。例如,如果单元格包含gmail.com,则脚本会删除这些行,作为较大电子邮件的一部分
123@gmail.com
123@yahoo.com
456@gmail.com
456@yahoo.com
这两个Yahoo电子邮件将被保存,因为它们不符合条件。但是,我不确定编写脚本时要使用的适当条件命令。这是我到目前为止所拥有的。
function deleteRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('Sheet1');
var r = s.getRange('B:B');
var v = r.getValues();
for(var i=v.length-1;i>=0;i--)
if(v[0,i] 'gmail.com')
s.deleteRow(i+1);
};
我会放一个==,但这只会删除与gmail.com完全匹配的行。我将用什么代替==使其基本上成为包含条件的文本?
答案 0 :(得分:0)
尝试一下:
function deleteMatchingRows(string) {
var string=string||'gmail.com';
var ss = SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Sheet1');
var lngth=sh.getLastRow();
var rg=sh.getRange(1,2,lngth,1);
var vA=rg.getValues();
var n=0;
for(var i=1;i<vA.length;i++){
if(vA[i][0] && vA[i][0].indexOf(string)>-1){
sh.deleteRow(i-n+1);
n++;
}
}
}