Google Sheets时间戳脚本定制求助:指定行列自动生成时间戳
调整后的时间戳脚本
直接替换原有脚本为以下代码,它会仅在D列至Y列、4行至28行范围内的单元格被修改时,自动在同行A列写入格式化后的日期时间:
function onEdit(e) { const sh = e.source.getActiveSheet(); const editedRange = e.range; // 校验编辑范围是否在目标区域内 const isTargetColumn = editedRange.columnStart >= 4 && editedRange.columnEnd <= 25; const isTargetRow = editedRange.rowStart >= 4 && editedRange.rowEnd <= 28; if (isTargetColumn && isTargetRow) { sh.getRange('A' + editedRange.rowStart) .setValue(new Date()) .setNumberFormat('dd/MM HH:mm'); } }
关键细节说明:
- 新增范围判断逻辑:通过
columnStart/columnEnd(D列对应索引4,Y列对应索引25)和rowStart/rowEnd限定编辑区域,避免无关单元格触发时间戳 - 修正了原代码的格式错误:将
HH:MM改为HH:mm(MM代表月份,mm才是分钟) - 仅当编辑操作落在目标区域内时,才会执行时间戳写入操作
内容的提问来源于stack exchange,提问作者Marc Ceulemans
相关产品推荐
相关产品推荐

