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

如何在不删除Filter View的前提下一键取消Google Sheets所有列的筛选

解决方案:Google Sheets 一键清空 Filter View 筛选脚本

以下是可直接使用的 Google Apps Script 实现方案,支持自定义菜单一键操作,无需修改原有 Filter View 配置。

// 表格加载时自动生成自定义菜单
function onOpen() {
  const ui = SpreadsheetApp.getUi();
  ui.createMenu('Unfilter 工具')
    .addItem('清空当前 Filter View 所有筛选', 'clearAllFilterViewCriteria')
    .addToUi();
}

function clearAllFilterViewCriteria() {
  const activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const currentFilterViewId = activeSheet.getActiveFilterViewId();
  // 未打开 Filter View 时提示
  if (!currentFilterViewId) {
    SpreadsheetApp.getUi().alert('请先打开需要清空筛选的 Filter View');
    return;
  }
  // 匹配当前激活的 Filter View
  const targetFilterView = activeSheet.getFilterViews().find(item => item.getFilterViewId() === currentFilterViewId);
  const filter = targetFilterView.getFilter();
  if (!filter) {
    SpreadsheetApp.getUi().alert('当前 Filter View 无生效的筛选条件');
    return;
  }
  const filterRange = filter.getRange();
  const startColumn = filterRange.getColumn();
  const totalColumns = filterRange.getNumColumns();
  // 遍历所有列清除筛选条件
  for (let col = startColumn; col < startColumn + totalColumns; col++) {
    if (filter.getColumnFilterCriteria(col)) {
      filter.removeColumnFilterCriteria(col);
    }
  }
  SpreadsheetApp.getUi().alert('已清空当前 Filter View 所有筛选条件,所有列已恢复全选状态');
}

部署步骤

  1. 打开目标 Google Sheets 表格,点击顶部菜单栏「扩展程序」>「Apps 脚本」进入脚本编辑器
  2. 删除编辑器内默认的空代码片段,将上述代码完整粘贴到编辑区
  3. 点击页面顶部保存按钮,自定义项目名称(如「筛选快捷工具」)后确认保存
  4. 刷新原有表格页面,等待几秒后顶部菜单栏会出现新增的「Unfilter 工具」菜单,首次点击菜单选项时按指引完成脚本授权即可正常使用

功能说明

  • 仅对当前处于打开状态的 Filter View 生效,不会修改、删除其他 Filter View 或表格原生筛选配置
  • 执行后所有列筛选规则自动重置为全选状态,Filter View 本身完全保留,无需重新创建
  • 无生效 Filter View 时点击会自动提示,不会误操作修改表格数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 13:24:09