You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Apps Script代码中指定目标列或使用全部列?

解决方案

1. 指定特定列检查

添加一个列索引数组,按需指定要检查的列(列索引从0开始,A列对应0,B列对应1,以此类推),遍历每行时仅检查这些指定列的内容。

修改后的代码:

function onEdit() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getSheetByName('LEADS FRESCOS'); // 替换成你的工作表名称
  var values = s.getDataRange().getValues();
  // 自定义要检查的列索引,比如要查A、C列就填[0,2],可按需修改
  var targetColumns = [0, 2]; 
  var keyword = "trabalho";

  // 从下往上遍历,避免删行后索引错乱
  for (var i = values.length; i > 0; i--) {
    var rowValues = values[i-1];
    var shouldDelete = false;

    // 逐一检查指定列
    for (var col of targetColumns) {
      if (rowValues[col] && rowValues[col].toLowerCase().indexOf(keyword) > -1) {
        shouldDelete = true;
        break; // 只要有一列匹配,就标记删除
      }
    }

    if (shouldDelete) {
      s.deleteRow(i);
    }
  }
}

使用说明:

  • 修改targetColumns数组里的数值即可切换检查目标列,多列用逗号分隔。
  • 加了空值判断rowValues[col],避免单元格为空时调用toLowerCase()报错。

2. 检查全部列

如果需要扫描每行所有单元格,直接遍历整行内容即可,无需指定列数组。

代码如下:

function onEdit() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getSheetByName('LEADS FRESCOS'); // 替换成你的工作表名称
  var values = s.getDataRange().getValues();
  var keyword = "trabalho";

  // 从下往上遍历,避免删行后索引错乱
  for (var i = values.length; i > 0; i--) {
    var rowValues = values[i-1];
    var shouldDelete = false;

    // 遍历当前行所有单元格
    for (var cellValue of rowValues) {
      if (cellValue && cellValue.toLowerCase().indexOf(keyword) > -1) {
        shouldDelete = true;
        break; // 只要有一个单元格匹配,就标记删除
      }
    }

    if (shouldDelete) {
      s.deleteRow(i);
    }
  }
}

注意事项:

  • 必须保持从下往上遍历的逻辑,从上往下删行会导致后续行索引前移,部分行被遗漏。
  • 空值判断能避免单元格内容为null或undefined时出现运行错误。

内容的提问来源于stack exchange,提问作者willian ribeiro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 14:10:26