Google|跨表单定时数据同步

要实现“当源表 B 增加新日期表单时,目标表 A 自动新建对应日期的工作表并同步数据”,最高效、最稳定的方案是使用 Google Apps Script(GAS 自动化脚本)。
在表格 A 中绑定一段脚本,设置一个定时触发器,自动去表格 B 中检查是否有新日期的工作表。

function syncNewSheetsFromB() {
  // 1. 设置表格 B 的 ID
  var sourceSpreadsheetId = "1xpNZv"; 
  
  var targetSS = SpreadsheetApp.getActiveSpreadsheet();
  var sourceSS = SpreadsheetApp.openById(sourceSpreadsheetId);
  
  // 2. 获取表格 B 中所有的工作表
  var sourceSheets = sourceSS.getSheets();
  
  // 3. 遍历表格 B 的每一个表单
  sourceSheets.forEach(function(sourceSheet) {
    var sheetName = sourceSheet.getName();
    
    // 匹配日期格式的表单(如:2026/09/20,按需调整正则匹配)
    if (sheetName.match(/\d{4}\/\d{2}\/\d{2}/)) {
      
      // 判断表格 A 中是否已经存在同名表单
      var existingSheet = targetSS.getSheetByName(sheetName);
      
      // 【只有当 B 有新表单,而 A 没有时】才执行同步
      if (!existingSheet) {
        
        // 直接将 B 中的新工作表完整复制到 A 中(保留所有合并单元格和格式)
        var copiedSheet = sourceSheet.copyTo(targetSS);
        
        // 将复制过来的表单重命名为对应日期
        copiedSheet.setName(sheetName);
        
        Logger.log("成功同步新表单: " + sheetName);
      }
    }
  });
}

设置定时触发器,表格即可在后台自动监测并同步:
在 Apps Script 编辑器左侧菜单中,点击 闹钟图标(Triggers)。
点击右下角的 + 添加触发器。
参数设置如下:
选择要运行的函数:syncNewSheetsFromB
选择事件源:时间驱动 (Time-driven)
选择基于时间的触发器类型:定时器 (Day timer)
选择时间段:下午 5 点至 6 点 (根据需要调整)
点击“保存”,并完成账号授权即可。