如何在Google Sheets中用onEdit根据B9值隐藏/显示10-16行
Google Sheets 自动隐藏/显示指定行脚本
直接上可运行的代码,粘贴到Google Sheets的脚本编辑器(工具→脚本编辑器)即可:
function onEdit(e) { // 获取当前活动工作表 const sheet = e.source.getActiveSheet(); // 定位触发单元格:B9 const triggerCell = sheet.getRange('B9'); const cellValue = triggerCell.getValue().trim(); // 定位要控制的行范围:10-16行 const targetRows = sheet.getRange('10:16'); // 仅当编辑的是B9单元格时执行逻辑 if (e.range.getA1Notation() === 'B9') { if (cellValue === 'No') { sheet.hideRows(targetRows.getRow(), targetRows.getNumRows()); } else if (cellValue === 'Yes') { sheet.showRows(targetRows.getRow(), targetRows.getNumRows()); } } }
关键逻辑说明
- 触发条件限制:通过
e.range.getA1Notation() === 'B9'确保只有编辑B9单元格时才执行后续操作,避免无关编辑触发脚本。 - 值处理:用
trim()去除单元格内容的首尾空格,防止因空格导致判断失效。 - 行操作:
- 隐藏行:
hideRows(起始行号, 行数),这里起始行是10,共7行(10到16) - 显示行:
showRows()对应取消隐藏,参数和hideRows一致
- 隐藏行:
注意事项
- 这是简单触发器,保存脚本后无需手动设置触发器,编辑B9单元格会自动触发。
- 首次运行需要授权,按照提示完成权限验证即可。
内容的提问来源于stack exchange,提问作者ValkyrieRaevyn
相关产品推荐
相关产品推荐

