要实现“当源表 B 增加新日期表单时,目标表 A 自动新建对应日期的工作表并同步数据”,最高效、最稳定的方案是使用 Google Apps Script(GAS 自动化脚本)。 在表格 A 中绑定一段脚本,设置一个定时触发器,自动去表格 B 中检查是否有新日期的工作表。
functionsyncNewSheetsFromB(){// 1. 设置表格 B 的 IDvarsourceSpreadsheetId="1xpNZv";vartargetSS=SpreadsheetApp.getActiveSpreadsheet();varsourceSS=SpreadsheetApp.openById(sourceSpreadsheetId);// 2. 获取表格 B 中所有的工作表varsourceSheets=sourceSS.getSheets();// 3. 遍历表格 B 的每一个表单sourceSheets.forEach(function(sourceSheet){varsheetName=sourceSheet.getName();// 匹配日期格式的表单(如:2026/09/20,按需调整正则匹配)if (sheetName.match(/\d{4}\/\d{2}\/\d{2}/)) {// 判断表格 A 中是否已经存在同名表单varexistingSheet=targetSS.getSheetByName(sheetName);// 【只有当 B 有新表单,而 A 没有时】才执行同步if (!existingSheet) {// 直接将 B 中的新工作表完整复制到 A 中(保留所有合并单元格和格式)varcopiedSheet=sourceSheet.copyTo(targetSS);// 将复制过来的表单重命名为对应日期copiedSheet.setName(sheetName);Logger.log("成功同步新表单: "+sheetName);}}});}