如何在Google Sheet中选中Completed时自动隐藏对应行?
解决Google Sheet选中“Completed”时隐藏对应行的问题
你的现有代码缺少对选中值的判断,导致只要编辑第3列就会隐藏行,而不是仅在选中“Completed”时触发。以下是修正后的可行方案:
修正后的代码
function onEdit(e) { const targetColumn = 3; // 下拉框所在列(这里是第3列即C列,可根据实际调整) const sheet = e.range.getSheet(); const row = e.range.rowStart; const selectedValue = e.value; // 仅在编辑目标列且为单行编辑时执行 if (e.range.columnStart !== targetColumn || e.range.rowEnd !== row) return; if (selectedValue === "Completed") { sheet.hideRows(row); } else { // 若选中其他选项,恢复显示该行(避免误选后无法恢复) sheet.showRows(row); } }
代码说明
- targetColumn:设置下拉框所在的列号,默认是3(对应C列),如果你的下拉框在其他列,修改这个数字即可。
- 值判断:新增了对选中值的检查,只有当值为“Completed”时才隐藏该行。
- 恢复显示:当用户将选项改回“In Progress”或“Followup”时,自动显示该行,提升操作灵活性。
设置步骤
- 打开你的Google Sheet文档。
- 点击顶部菜单栏的「扩展程序」→「Apps Script」。
- 删除脚本编辑器中默认的代码,粘贴上面的修正代码。
- 点击保存按钮,给项目命名(比如“HideCompletedRows”)。
- 关闭脚本编辑器,回到表格后,选中下拉框的“Completed”选项即可触发行隐藏。
注意事项
- 选项名称需完全匹配:确保下拉框中的“Completed”大小写、拼写和代码中的一致(区分大小写)。
- 无需手动授权:
onEdit是Google Sheets的简单触发器,会自动绑定到表格编辑事件,不需要额外授权。
内容的提问来源于stack exchange,提问作者Danielle Javines
相关产品推荐
相关产品推荐

