Google Sheets:行内容修改时自动取消复选框的实现需求
实现产品名称变更自动重置复选框的方案(Google Sheets)
核心思路
通过Google Apps Script监听单元格编辑事件,当产品名称列被修改时,自动将同一行的复选框设为未勾选状态,配合你已掌握的条件格式实现高亮提示。
步骤1:绑定脚本到表格
打开你的Google Sheets,点击菜单栏「扩展程序」→「Apps Script」,清空默认代码后粘贴以下脚本。
步骤2:自定义脚本代码
function onEdit(e) { // 按需修改列索引:JS数组从0开始,比如B列是1,C列是2 const productNameColumnIndex = 1; // 产品名称所在列 const checkboxColumnIndex = 3; // 复选框所在列 const editedCell = e.range; const editedRow = editedCell.getRow(); const editedCol = editedCell.getColumn() - 1; // 转成0索引格式 // 跳过表头行(假设表头在第1行),仅处理产品名称列的修改 if (editedRow > 1 && editedCol === productNameColumnIndex) { const targetCheckbox = editedCell.getSheet().getRange(editedRow, checkboxColumnIndex + 1); targetCheckbox.setValue(false); } }
步骤3:脚本配置说明
- 调整
productNameColumnIndex和checkboxColumnIndex的数值,对应你表格中实际的列位置(比如产品名称在D列,就把productNameColumnIndex设为3); - 第一次保存脚本时,按照提示完成授权(仅对你的表格生效,安全无风险);
- 脚本仅响应手动编辑的单元格修改,若产品名称由公式自动更新,需改用
onChange触发函数(如需可留言补充)。
步骤4:配合条件格式
保持你已设置的规则:当复选框单元格值为FALSE时,对整行应用高亮格式即可。
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

