如何修改Excel onEdit脚本:仅当第6列有值时添加时间戳
调整后的脚本代码
function onEdit(e) { var sh = e.source.getActiveSheet(); var row = e.range.getRow(); var col = e.range.getColumn(); var stampCol = sh.getRange(row, 3); // 满足三个条件才执行:编辑的是第6列、当前单元格有值、时间戳列为空 if (col === 6 && e.range.getValue() && !stampCol.getValue()) { stampCol.setValue(new Date()) .setNumberFormat('MM/dd/yyyy HH:MMam/pm'); } }
关键修改说明
- 新增
col === 6判断:限定只有编辑第6列(F列)时才触发逻辑 - 新增
e.range.getValue()判断:确保第6列单元格被填入内容时才执行,避免清空内容时误触发 - 移除重复定义的
const sh:原代码重复声明工作表对象,简化后直接使用已定义的stampCol操作,精简逻辑 - 保留
!stampCol.getValue()判断:保证时间戳仅在第3列(C列)为空时添加一次,防止重复覆盖
内容的提问来源于stack exchange,提问作者Brandon Cunningham
相关产品推荐
相关产品推荐

