请求编写Google Sheets App Script:选中NON COD时自动勾选并加时间戳
解决方案:J列触发复选框勾选与时间戳自动添加
下面是可直接运行的Google Apps Script代码,实现当J列单元格被设置为“NON COD”时,自动勾选对应行K列的复选框,并在L列插入当前时间戳:
function onEdit(e) { // 获取编辑事件的相关对象 const range = e.range; const sheet = range.getSheet(); // 仅处理J列(第10列)的编辑操作 if (range.getColumn() !== 10) return; // 获取当前单元格的文本内容(去除首尾空格) const cellValue = range.getValue().trim(); // 判断是否匹配目标值 if (cellValue === "NON COD") { // 定位对应行的K列(第11列)和L列(第12列)单元格 const checkboxCell = sheet.getRange(range.getRow(), 11); const timestampCell = sheet.getRange(range.getRow(), 12); // 勾选复选框 checkboxCell.setValue(true); // 设置当前时间为时间戳 timestampCell.setValue(new Date()); // 统一时间戳显示格式(可根据需求调整) timestampCell.setNumberFormat("yyyy-MM-dd HH:mm:ss"); } else { // 可选逻辑:当J列值不是"NON COD"时,取消复选框并清空时间戳 const checkboxCell = sheet.getRange(range.getRow(), 11); const timestampCell = sheet.getRange(range.getRow(), 12); checkboxCell.setValue(false); timestampCell.clearContent(); } }
关键说明:
- 提前给K列添加复选框:通过Google Sheets菜单「数据」→「数据验证」,设置类型为「复选框」
- 代码使用
onEdit简单触发器,无需手动授权,编辑表格时自动触发 - 时间戳采用当前时区时间,若需调整时区可在脚本编辑器的「项目设置」中修改
内容的提问来源于stack exchange,提问作者Gilbert Norris Frejoles
相关产品推荐
相关产品推荐

