如何修改Google Sheets脚本实现多列输入时自动添加日期?
Google Sheets多列输入自动添加左侧日期的脚本修改方案
修改后的完整脚本
//CORE VARIABLES // 需要检测的目标列(可添加更多列,比如[3,6,9]) var COLUMNTOCHECK = [3, 6]; // 日期时间戳相对于输入单元格的偏移位置 [行偏移, 列偏移],这里是左侧一列 var DATETIMELOCATION = [0, -1]; // 目标工作表名称 var SHEETNAME = 'LHe ontvangst/retour' function onEdit(e) { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); // 验证是否在目标工作表 if (sheet.getSheetName() == SHEETNAME) { var selectedCell = ss.getActiveCell(); // 检查当前单元格是否在目标列数组中 if (COLUMNTOCHECK.includes(selectedCell.getColumn())) { var dateTimeCell = selectedCell.offset(DATETIMELOCATION[0], DATETIMELOCATION[1]); dateTimeCell.setValue(new Date()); } } }
关键修改说明
- 目标列改为数组:把原来单个列号的
COLUMNTOCHECK改成数组格式,比如[3,6],你可以根据需求添加更多列,比如[3,6,8,10] - 多列检测逻辑:将原有的
==判断替换为includes()方法,这个方法会检查当前单元格的列号是否存在于目标列数组中,只要匹配就会触发日期添加 - 原有逻辑保留:日期偏移位置、工作表验证等逻辑保持不变,确保符合你的需求
使用提示
- 打开你的Google Sheets,点击顶部菜单栏的「扩展程序」→「Apps 脚本」
- 替换原有脚本为上面的代码
- 修改
COLUMNTOCHECK数组为你需要检测的列号,修改SHEETNAME为你的目标工作表名称 - 保存脚本,回到表格后,在目标列输入内容时,左侧列会自动添加当前日期时间
内容的提问来源于stack exchange,提问作者G.P. Roberts
相关产品推荐
相关产品推荐

