如何创建Google Apps Script工作表名数组并在if判断中实现多表自动填日期
多工作表触发自动填日期脚本修改方案
直接使用以下修改后的代码即可,核心调整了工作表匹配逻辑,完全保留你原有业务规则:
function onEdit() { // 要监听的工作表列表,把需要生效的表名都加进这个数组即可 var sheetNamesToWatch = ["2021", "2022", "2023"]; // 监听B列(列号为2),修改非空时触发日期写入 var columnNumberToWatch = 2; var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = SpreadsheetApp.getActiveSheet(); var range = sheet.getActiveCell(); var val = range.getValue(); // 表名在监听列表、编辑的是目标列、内容非空三个条件同时满足时触发 if (sheetNamesToWatch.includes(sheet.getName()) && range.getColumn() == columnNumberToWatch && val!= "") { // 写入当前行的A列(B列向左偏移1列) var targetCell = sheet.getRange(range.getRow(), range.getColumn() - 1); // 日期格式和时区保持和你原有配置一致,可按需修改 targetCell.setValue(Utilities.formatDate(new Date(), "CET", "dd/MM/yyyy")); } }
使用说明
- 你只需要修改
sheetNamesToWatch数组内的表名字符串,添加所有需要生效的工作表名即可 - 原有逻辑完全不变:只有在指定工作表的B列输入非空内容时,才会自动在对应行A列写入当前日期,不会出现列错位问题
- 脚本保存后刷新表格即可生效,无需额外配置触发器
内容的提问来源于stack exchange,提问作者FGOD
相关产品推荐
相关产品推荐

