如何让Google Sheets脚本从第二行开始输出更新时间
解决Google Sheet脚本仅从第二行开始记录更新时间的问题
你只需要在脚本里加一行行号判断逻辑,就能让脚本只对第二行及以后的编辑操作生效,修改后的代码如下:
/** @OnlyCurrentDoc */ function onEdit(e){ const sh = e.source.getActiveSheet(); // 仅当编辑的行是第二行及以后时,才执行日期写入 if (e.range.rowStart >= 2) { sh.getRange('A' + e.range.rowStart) .setValue(new Date()) .setNumberFormat('MM/dd/yyyy HH:MMam/pm'); } }
关键说明(针对新手):
e.range.rowStart是脚本自带的属性,代表你刚才编辑的单元格所在的行号(比如编辑A1时,这个值是1;编辑B3时,这个值是3)。if (e.range.rowStart >= 2)就是判断条件:只有行号大于等于2时,才会执行大括号里的「写入日期」操作;如果编辑的是第一行(行号为1),脚本会直接跳过,不会修改A列内容。- 你之前尝试的
rowStart(2)是错误写法——rowStart是一个数值属性,不是函数,不能加括号调用;rowStart > 0的条件太宽松(第一行也满足),所以达不到效果。
修改后保存脚本,直接在表格第二行及以后的单元格编辑内容测试即可,第一行编辑不会触发日期写入。
内容的提问来源于stack exchange,提问作者Andy
相关产品推荐
相关产品推荐

