Power Query可自动合并同结构工作表并支持动态刷新;SUMIFS函数能跨表按条件汇总数据;TEXTJOIN与FILTER组合可批量提取并拼接多表文本;VSTACK函数可垂直堆叠多个结构一致的表格区域。

一、使用Power Query合并多个工作表
Power Query是Excel内置的数据整合工具,适用于同一工作簿内多个同结构工作表的自动合并,支持动态刷新,无需重复操作。
1、在Excel中点击【数据】选项卡,选择【从工作簿】,浏览并导入包含多个目标工作表的Excel文件。
2、在导航器窗口中勾选【合并并加载到…】,点击【转换数据】进入Power Query编辑器。
3、在查询编辑器中,选中所有需合并的工作表名称列(通常为“Name”列),右键选择【合并查询】→【合并查询作为新查询】。
4、在弹出窗口中,选择要合并的列(如第一行标题行),勾选【使用第一行作为标题】,点击【确定】。
5、展开合并后的“Content”列,取消勾选【使用原始列名作为前缀】,点击【确定】完成合并。
二、用SUMIFS函数跨表汇总指定条件数据
SUMIFS函数可在多个独立工作表中按条件累加数值,避免逐表切换,特别适合按部门、月份、类别等维度统计分散在不同Sheet中的数据。
1、确保各工作表结构一致,例如A列为产品名称,B列为销量,且Sheet名称为“1月”“2月”“3月”等。
2、在汇总表中输入公式:=SUMIFS('1月'!B:B,'1月'!A:A,E2)+SUMIFS('2月'!B:B,'2月'!A:A,E2)+SUMIFS('3月'!B:B,'3月'!A:A,E2),其中E2为待匹配的产品名称。
3、若工作表数量较多,可配合INDIRECT函数构建动态引用,例如:=SUMPRODUCT(SUMIFS(INDIRECT("'"&{"1月","2月","3月"}&"'!B:B"),INDIRECT("'"&{"1月","2月","3月"}&"'!A:A"),E2))。
三、借助TEXTJOIN与FILTER函数批量提取并拼接多表文本
当需要从多个工作表中提取满足条件的文本内容并合并为单个字符串(如汇总所有“未完成”任务的负责人姓名),TEXTJOIN与FILTER组合可一次性完成跨表检索与连接。
1、确认各工作表中数据区域为A2:C100,A列为状态,C列为负责人,Sheet名为“项目A”“项目B”“项目C”。
2、在新工作表中输入数组公式(Excel 365或2021支持):=TEXTJOIN("、",TRUE,FILTER('项目A'!C2:C100,'项目A'!A2:A100="未完成"),"未找到")&TEXTJOIN("、",TRUE,FILTER('项目B'!C2:C100,'项目B'!A2:A100="未完成"),"")&TEXTJOIN("、",TRUE,FILTER('项目C'!C2:C100,'项目C'!A2:A100="未完成"),"")。
3、如需自动适配新增工作表,可先用定义名称方式将Sheet列表存为“SheetList”,再嵌套INDIRECT调用,实现扩展性拼接。
四、通过VSTACK函数垂直堆叠多个表格区域
VSTACK函数可将多个二维数组(如不同工作表中的数据区域)纵向拼接为一个连续数据集,适用于结构完全一致的表格快速合并,结果为动态数组,自动溢出显示。
1、确保各表数据区域行列数相同,例如“销售部”!A2:D100、“市场部”!A2:D100、“客服部”!A2:D100。
2、在空白工作表中输入公式:=VSTACK('销售部'!A2:D100,'市场部'!A2:D100,'客服部'!A2:D100)。
3、若某表数据量变动,VSTACK会自动调整溢出范围;如需添加标题行,可在公式最前端插入数组常量,例如:=VSTACK({"部门","日期","金额","类型"},'销售部'!A2:D100,'市场部'!A2:D100)。








