簡體   English   中英

根據單元格文本(如果包含)在Google表格中刪除行

[英]Delete Row in Google Sheets Based on Cell Text (if contains)

我正在嘗試創建一個腳本,如果該單元格包含但不完全匹配該條件,它將自動刪除該行。 例如,如果單元格包含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完全匹配的行。 我將用什么代替==使其實質上是包含條件的文本?

嘗試這個:

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++;
    }    
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM