在Google Sheets中用复选框启用/停用Filter By Condition筛选
在Google Sheets中用复选框控制空行筛选的实现方法
步骤1:添加控制用复选框
- 选一个空白单元格(比如A1,用来放控制筛选的复选框)
- 右键该单元格 → 「数据验证」
- 在弹出的窗口里,条件选择「复选框」,直接保存即可
步骤2:编写Apps Script脚本
- 点击顶部菜单栏「扩展」→ 「Apps Script」
- 删除默认的
myFunction代码,替换成下面的脚本:
function toggleFilter() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); const checkboxCell = "A1"; // 替换成你放复选框的单元格地址 const targetRange = "A2:Z"; // 替换成你的数据范围(按需调整) const filterColumn = 1; // 要筛选空值的列号(A列=1,B列=2,以此类推) // 清除当前已有的筛选规则 const existingFilter = sheet.getRange(targetRange).getFilter(); if (existingFilter) existingFilter.remove(); const isChecked = sheet.getRange(checkboxCell).getValue(); const newFilter = sheet.getRange(targetRange).createFilter(); if (isChecked) { // 勾选复选框时,应用「Is Not Empty」筛选 const criteria = SpreadsheetApp.newFilterCriteria().whenNotEmpty().build(); newFilter.setColumnFilterCriteria(filterColumn, criteria); } else { // 取消勾选时,设置筛选条件为「None」(即显示所有行) const criteria = SpreadsheetApp.newFilterCriteria().build(); newFilter.setColumnFilterCriteria(filterColumn, criteria); } }
- 注意:根据你的实际表格结构,修改脚本里的
checkboxCell、targetRange和filterColumn三个参数
步骤3:绑定脚本到复选框
- 回到Google Sheets表格,右键刚才添加的复选框 → 「分配脚本」
- 在输入框里输入
toggleFilter(和脚本里的函数名一致),点击确定
注意事项
- 第一次点击复选框运行脚本时,会提示授权,按照页面指引完成权限验证即可
- 这个方法完全复用了你之前手动操作的「Filter By Condition」逻辑,和你原本的操作效果一致
内容的提问来源于stack exchange,提问作者Zanaria
相关产品推荐
相关产品推荐

