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

如何用Google AppScript删除Google Sheet中N列值为1的行

Google AppScript 实现批量删除指定行并重置筛选

完整脚本

function deleteRowsAndResetFilter() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  let filter = sheet.getFilter();
  
  // 移除现有筛选(若存在),避免条件冲突
  if (filter) filter.remove();
  
  // 1. 为N列(第14列)设置筛选条件:值为"1"
  const newFilter = sheet.getDataRange().createFilter();
  newFilter.setColumnFilterCriteria(14, 
    SpreadsheetApp.newFilterCriteria().whenTextEqualTo("1").build()
  );
  
  // 2. 收集并删除筛选出的行(从下往上删,避免行号偏移)
  const visibleRowIndexes = [];
  for (let row = 1; row <= sheet.getLastRow(); row++) {
    if (!sheet.isRowHiddenByFilter(row)) visibleRowIndexes.push(row);
  }
  
  for (let i = visibleRowIndexes.length - 1; i >= 0; i--) {
    sheet.deleteRow(visibleRowIndexes[i]);
  }
  
  // 3. 移除N列筛选条件,重新启用该列筛选
  filter = sheet.getFilter();
  filter.setColumnFilterCriteria(14, SpreadsheetApp.newFilterCriteria().build());
}

关键说明

  • 筛选条件适配:如果N列存储的是数值而非文本,把whenTextEqualTo("1")替换为whenNumberEqualTo(1)
  • 指定工作表:若要操作固定工作表,将getActiveSheet()改为getSheetByName("你的工作表名")
  • 数据备份:首次运行前建议复制工作表备份,防止误删数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 07:03:30