You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建自动更新的汇总工作表合并多来源同结构工作表数据?

多张同结构工作表自动汇总的可行性及实现方法

完全可行,以下是主流表格工具的具体实现方式:

Excel 实现方案

Power Query 批量汇总(推荐,支持自动刷新)

  • 点击「数据」选项卡,选择「获取数据」>「自文件」>「自工作簿」,选中当前文件
  • 在导航器里按住Ctrl选全所有要汇总的工作表,点击「转换数据」
  • 在Power Query编辑器里,确认所有表结构一致后,点击「合并查询」>「追加查询」>「将多个查询追加为新查询」,选中所有工作表完成合并
  • 点击「关闭并上载」,把汇总数据导入新工作表;后续源表更新时,右键汇总表选择「刷新」就能同步最新数据

公式法(适合少量工作表)

Excel 365/2021版本支持VSTACK函数,直接拼接多表数据:

=VSTACK(Sheet1!A:Z, Sheet2!A:Z, Sheet3!A:Z)

注意:新增工作表时需要手动修改公式添加新表引用,数据会随源表自动更新

Google Sheets 实现方案

数组+QUERY 快速汇总

同一文件内直接用数组拼接结合QUERY过滤空行:

=QUERY({Sheet1!A:Z; Sheet2!A:Z; Sheet3!A:Z}, "select * where Col1 is not null")

新增工作表时,在数组里追加新表引用即可,数据会自动同步

脚本自动识别新增工作表

打开「扩展程序」>「Apps脚本」,粘贴以下代码:

function autoSumSheets() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sumSheet = ss.getSheetByName("汇总表") || ss.insertSheet("汇总表");
  const sheets = ss.getSheets().filter(sheet => sheet.getName() !== "汇总表");
  
  let allData = [];
  sheets.forEach(sheet => {
    const data = sheet.getDataRange().getValues();
    if(data.length > 1) allData = allData.concat(data.slice(1)); // 跳过表头
  });
  
  sumSheet.clearContents();
  sumSheet.getRange(1,1,allData.length,allData[0]?.length || 0).setValues(allData);
}

点击「运行」完成授权,再设置触发器(编辑>当前项目的触发器),选择按时间驱动或 onChange 触发,就能自动汇总新增工作表的数据

内容的提问来源于stack exchange,提问作者Davidator

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 14:52:06