如何修改Google Apps Script中自动时间戳的生成列位置?
修改Google Apps Script实现最左侧列生成时间戳
调整后的完整脚本
function onEdit() { var activeSheet = SpreadsheetApp.getActiveSheet(); if (activeSheet.getName() !== "Unified Tracker") return; var editedCell = activeSheet.getActiveCell(); // 监听第二列的编辑操作(可根据需求替换为目标列号) if (editedCell.getColumn() !== 2) return; // 定位到当前行的第一列(最左侧) var timestampCell = editedCell.offset(0, 1 - editedCell.getColumn()); if (timestampCell.getValue() === '') { timestampCell.setValue(new Date()); } }
核心修改说明
- 原脚本通过
offset(0, 1)指向编辑单元格的右侧列,现在替换为offset(0, 1 - editedCell.getColumn()),无论当前编辑的是第几列,都能精准跳转到当前行的第一列。 - 优化了逻辑判断,提前退出不符合条件的情况,让代码更简洁高效。
使用提示
直接在"Unified Tracker"工作表的第二列编辑内容,对应行的第一列会自动填充当前时间(仅当第一列原本为空时生效)。如果需要监听其他列的编辑,只需修改editedCell.getColumn() !== 2中的数字(比如要监听第三列就改为3)。
内容的提问来源于stack exchange,提问作者Almighty Kid
相关产品推荐
相关产品推荐

