简体   繁体   English

检查特定列中的文本后删除行

[英]Delete rows after check text in a specific column

I would like to know which script to use with the following conditions:我想知道在以下条件下使用哪个脚本:

  • Built in trigger Google Sheets at a specific time, not after edit or change.内置在特定时间触发 Google 表格,而不是在编辑或更改之后。
  • Delete entire rows where the text "canceled" is in one of the cells of column D (4).删除 D 列 (4) 的其中一个单元格中包含文本“已取消”的整行。
  • Should only check in rows >=5.应该只检查 >=5 行。
  • Text "canceled" appears because of a formula in column D.由于 D 列中的公式,出现文本“已取消”。
  • Specific sheets only!仅限特定床单!

What I have so far, but not working.到目前为止,我所拥有的,但没有用。

function deleterowoncheck (e){
 
    var sheets = ["TEST"]; // Please set your expected sheet names;
    var sheet = e.range.getSheet();
    if (sheets.includes(sheet.getSheetName())) 

   if (e.range.getColumn() == 4 && e.range.getRow() >= 5 && e.range.getValue() == "CANCELED") {

  {

    var sheet = e.range.getSheet(); // Sheet in which the change was made
      sheet.deleteRow(e.range.getRow());
       e.source.toast('Deletion complete.');
  }
}
}

You can try the following script:您可以尝试以下脚本:

function deleteRowOnCheck() {
  var ss = SpreadsheetApp.getActive().getSheetByName("Name of the sheet");
  var data = ss.createTextFinder("CANCELED").findAll();
  for(var i=0; i<data.length; i++)
  {
    var textFinder = ss.createTextFinder("CANCELED");
    textFinder.findNext();
    ss.deleteRow(textFinder.getCurrentMatch().getRow());
  }
}

Just remember to configure the installable time driven trigger as desired.请记住根据需要配置可安装的时间驱动触发器

References:参考:

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM