Excel多表合并有四种方法:一、Power Query合并同结构工作表或文件;二、SUMPRODUCT与INDEX公式跨表条件汇总;三、VBA宏自动批量复制数据;四、Excel 365/2021用TOCOL与CHOOSECOLS函数动态堆叠。
立即进入“☞☞☞☞☞点击办公资源大全直接保存☜☜☜☜☜”;

如果您需要将多个Excel表格整合为一个统一的数据集,则可能是由于数据分散在不同工作表或不同文件中。以下是实现Excel多表合并成一个表格的多种方法:
一、使用Power Query合并多个工作表
Power Query是Excel内置的强大数据整理工具,适用于同一工作簿内多个结构相同的工作表合并,能自动识别并堆叠所有匹配列。
1、在Excel中打开目标工作簿,点击【数据】选项卡,选择【从工作簿】→【从工作簿】(若数据在当前文件)或【从文件夹】(若数据在多个独立文件)。
2、浏览并选中包含多个工作表的Excel文件,点击【确定】。
3、在导航器窗口中勾选【合并并加载到…】,点击【转换数据】进入Power Query编辑器。
4、在Power Query编辑器中,点击【组合】→【将文件夹中的文件合并为一个表】(针对多文件)或【将工作表合并为一个表】(针对单文件多表),确认列名匹配关系。
5、点击【关闭并上载】,合并结果将自动写入新工作表。
二、使用SUMPRODUCT与INDEX配合多表引用
该方法适用于需按条件跨多个工作表汇总数值型数据,不改变原始结构,通过公式动态拉取各表对应单元格值。
1、在目标汇总表中选定首行首列(如A1),输入公式:=SUMPRODUCT(SUMIF(INDIRECT("'"&工作表名列表&"'!A:A"),A1,INDIRECT("'"&工作表名列表&"'!B:B"))),其中“工作表名列表”为已定义的名称区域,含所有被引用工作表名称。
2、确保所有源工作表中A列均为统一标识字段(如产品编号),B列为待汇总数值列。
3、按Ctrl+Shift+Enter完成数组公式录入(Excel 365/2021可直接回车)。
主页面上引用了三个页面也说不过去呀。本次主要是把数据库合并了一下,至于功能,没有加什么新的东西,还是那些:在线订购、帐单查询(添加了一个打印的连接)、特价商品列表、热买商品列表、留言本(许多朋友说以前的那个有问题,现在换成枫叶阁女士留言本,挺不错的)、新闻、完善的管理
4、将公式向下拖拽填充,覆盖全部待查标识项。
三、借助VBA宏批量合并同结构工作表
VBA脚本可全自动遍历当前工作簿所有工作表(跳过汇总表自身),逐表复制数据至指定目标工作表,适合重复性高且格式严格一致的场景。
1、按Alt+F11打开VBA编辑器,右键【ThisWorkbook】→【插入】→【模块】。
2、粘贴以下代码:Sub MergeSheets() Dim ws As Worksheet, destWs As Worksheet, lastRow As Long Set destWs = ThisWorkbook.Sheets("汇总") For Each ws In ThisWorkbook.Sheets If ws.Name "汇总" Then lastRow = destWs.Cells(destWs.Rows.Count, 1).End(xlUp).Row + 1 ws.UsedRange.Offset(1).Copy destWs.Cells(lastRow, 1) End If Next ws End Sub
3、在工作簿中新建名为“汇总”的空白工作表,确保其存在且名称完全匹配代码中引号内容。
4、返回Excel界面,按Alt+F8,选择“MergeSheets”,点击【运行】。
四、利用Excel 365/2021的TOCOL与CHOOSECOLS函数组合
该方法无需辅助列或插件,纯函数驱动,适用于将多个命名区域或固定范围内的同构表格垂直堆叠,输出为动态数组。
1、为每个源工作表的数据区域定义名称,例如Sheet1_Data、Sheet2_Data,要求每区域首行为标题且列数一致。
2、在汇总区域首单元格输入:=TOCOL(CHOOSE({1;2;3},Sheet1_Data,Sheet2_Data,Sheet3_Data),1,TRUE),其中{1;2;3}对应参与合并的表数量,TRUE表示忽略空值。
3、若需保留标题仅一次,手动在结果上方插入一行并填写标题,或将首个区域单独提取后用VSTACK拼接:=VSTACK(Sheet1_Data,TOCOL(CHOOSE({1;2},Sheet2_Data,Sheet3_Data),1,TRUE))。
4、公式结果自动溢出填充整列,无需拖拽。








