Javascript 如果Google Sheets行不包含字符串,则删除或筛选该行
我有一个包含重复行的电子表格。重复行不包含字符串“All stories”(有时写为“All stories”或“All stories”)的某些变体 我想删除或筛选不包含短语“所有故事”的行 到目前为止,我已经编写了一个脚本,它确实删除了包含短语“所有故事”的行 但是,如果行中不包含短语,我还没有弄清楚如何删除这些行 以下是我目前掌握的情况:Javascript 如果Google Sheets行不包含字符串,则删除或筛选该行,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我有一个包含重复行的电子表格。重复行不包含字符串“All stories”(有时写为“All stories”或“All stories”)的某些变体 我想删除或筛选不包含短语“所有故事”的行 到目前为止,我已经编写了一个脚本,它确实删除了包含短语“所有故事”的行 但是,如果行中不包含短语,我还没有弄清楚如何删除这些行 以下是我目前掌握的情况: function readRows() { var sheet = SpreadsheetApp.getActiveSheet(); var row
function readRows() {
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
var values = rows.getValues();
var rowsDeleted = 0;
for (var i = 0; i <= numRows - 1; i++) {
var row = values[i];
if (row[2].indexOf("(all stories)") > -1) {
sheet.deleteRow((parseInt(i)+1) - rowsDeleted);
rowsDeleted++;
} else if (row[2].indexOf("(All Stories)") > -1) {
sheet.deleteRow((parseInt(i)+1) - rowsDeleted);
rowsDeleted++;
} else if (row[2].indexOf("(All stories)") > -1) {
sheet.deleteRow((parseInt(i)+1) - rowsDeleted);
rowsDeleted++;
}
}
};
函数readRows(){
var sheet=SpreadsheetApp.getActiveSheet();
var rows=sheet.getDataRange();
var numRows=rows.getNumRows();
var values=rows.getValues();
var rowsDeleted=0;
对于(变量i=0;i-1){
sheet.deleteRow((parseInt(i)+1)-删除行);
行删除++;
}else if(行[2].indexOf(“(所有故事)”)>-1){
sheet.deleteRow((parseInt(i)+1)-删除行);
行删除++;
}else if(行[2].indexOf(“(所有故事)”)>-1){
sheet.deleteRow((parseInt(i)+1)-删除行);
行删除++;
}
}
};
没有错误消息。它工作正常,只是不是正确的脚本!如何确保脚本删除不包含字符串的行
谢谢:)您不需要检查索引是否高于-1,只需要检查索引是否正好是-1,这意味着该行不包含字符串 如果先将行转换为小写,则也不需要执行3种不同的检查
function readRows() {
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
var values = rows.getValues();
var rowsDeleted = 0;
for (var i = 0; i <= numRows - 1; i++) {
var row = values[i];
if (row[2].toLowerCase().indexOf("(all stories)") == -1) {
sheet.deleteRow((parseInt(i)+1) - rowsDeleted);
rowsDeleted++;
}
}
};
函数readRows(){
var sheet=SpreadsheetApp.getActiveSheet();
var rows=sheet.getDataRange();
var numRows=rows.getNumRows();
var values=rows.getValues();
var rowsDeleted=0;
for(var i=0;谢谢!这非常有效。我试图排除第一行,但是:sheet.getDataRange(C2:C200);似乎不起作用