如何在Google Sheets中勾选复选框时隐藏另一标签的指定多行?
Google Sheet 复选框联动隐藏指定行方案
本方案无需反复修改代码,后续新增复选框配置只需填写对应参数即可。
1. 提前配置参数列(后续新增规则仅需修改此处)
在Test工作表新增两列辅助参数:
- D1单元格填表头隐藏起始行,E1单元格填表头隐藏结束行
- 按现有规则填写对应行的参数:
- D2填
2,E2填6 - D3填
8,E3填12 - D4填
14,E4填20 - D5填
22,E5填26 - D6填
28,E6填34
后续新增复选框时,仅需在C列对应行插入复选框,D、E列填写要隐藏的行范围即可。
- D2填
2. 添加自动触发脚本
操作路径:打开目标表格 → 点击顶部菜单栏「扩展程序」→ 选择「Apps Script」→ 删除默认生成的空白代码,粘贴以下代码:
function onEdit(e) { const editRange = e.range; const editSheet = editRange.getSheet(); // 仅响应Test表C列第2行及以下的编辑操作 if(editSheet.getName() !== 'Test' || editRange.columnStart !== 3 || editRange.rowStart < 2) return; // 获取配置参数 const isChecked = e.value === 'TRUE'; const hideStart = editSheet.getRange(editRange.rowStart, 4).getValue(); const hideEnd = editSheet.getRange(editRange.rowStart, 5).getValue(); const targetSheet = e.source.getSheetByName('Checklist'); // 校验参数有效性 if(!hideStart || !hideEnd || hideStart > hideEnd) return; // 执行隐藏/显示操作 const rowCount = hideEnd - hideStart + 1; isChecked ? targetSheet.hideRows(hideStart, rowCount) : targetSheet.showRows(hideStart, rowCount); }
3. 保存测试
点击脚本编辑器顶部的保存按钮,为项目任意命名后关闭编辑器,返回表格即可测试:勾选C列复选框会自动隐藏Checklist对应范围的行,取消勾选则恢复显示。
内容的提问来源于stack exchange,提问作者Eric R
相关产品推荐
相关产品推荐

