0

0

Excel怎么实现多表合并 Excel把多个工作表汇总到一张方法【教程】

裘德小鎮的故事

裘德小鎮的故事

发布时间:2026-01-24 15:22:51

|

896人浏览过

|

来源于php中文网

原创

Excel多表合并有四种方法:一、Power Query自动追加结构相似工作表;二、SUMIFS跨表按条件汇总数值;三、VBA宏一键合并同结构数据并去重标题;四、TOCOL函数堆叠固定区域数据并标记来源表。

excel怎么实现多表合并 excel把多个工作表汇总到一张方法【教程】

如果您需要将Excel工作簿中多个工作表的数据统一整理到一张表中,可能是为了统计分析、报表生成或数据清洗。以下是实现多表合并的多种方法:

一、使用Power Query合并多个工作表

Power Query是Excel内置的数据整合工具,适用于结构相似的多个工作表(如列名一致、数据格式相同),可自动识别并追加所有工作表内容。

1、在Excel中,点击【数据】选项卡,选择【来自工作簿】,浏览并导入当前工作簿文件。

2、在导航器窗口中,勾选【合并并加载到…】,点击【确定】。

3、在弹出的“合并”对话框中,选择任意一个工作表作为示例表,勾选【使用第一个工作表作为示例】,再勾选【合并所有工作表】。

4、确认列映射关系无误后,点击【确定】,Power Query将自动创建合并查询,并加载结果至新工作表。

5、如需更新数据,右键点击结果表,选择【刷新】即可同步新增工作表内容。

二、使用SUMIFS函数跨表汇总指定条件数据

当各工作表结构一致但只需按特定条件(如部门、日期、产品)汇总数值时,SUMIFS可跨表引用并累加符合条件的单元格。

1、在目标汇总表中,先列出所有需汇总的条件项(例如A2单元格为“销售部”)。

2、在对应数值列输入公式:=SUMIFS(表1!C:C,表1!B:B,A2)+SUMIFS(表2!C:C,表2!B:B,A2)+SUMIFS(表3!C:C,表3!B:B,A2)

3、将公式向下填充,即可对每个条件生成对应汇总值。

4、若工作表数量较多,可配合名称管理器定义动态表名范围,提升公式可维护性。

三、使用VBA宏一键合并同结构工作表

VBA脚本可批量读取当前工作簿内所有工作表(排除汇总表自身),按顺序将数据追加至新建的工作表中,适合重复性高、表数较多的场景。

1、按打开VBA编辑器,插入新模块。

2、粘贴以下代码:

Sub 合并工作表()

Dim ws As Worksheet, destWs As Worksheet, lastRow As Long, nextRow As Long

Set destWs = Worksheets.Add

destWs.Name = "汇总"

Pixlr Remove BG
Pixlr Remove BG

几秒钟删除图片背景

下载

nextRow = 1

For Each ws In ThisWorkbook.Worksheets

If ws.Name destWs.Name Then

lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row

If nextRow = 1 And lastRow >= 1 Then ws.Rows(1).Copy destWs.Rows(1): nextRow = 2

If lastRow > 1 Then ws.Range("A2:" & "IV" & lastRow).Copy destWs.Cells(nextRow, 1)

nextRow = destWs.Cells(destWs.Rows.Count, 1).End(xlUp).Row + 1

End If

Next ws

End Sub

3、关闭编辑器,返回Excel,在【开发工具】选项卡中点击【宏】,运行“合并工作表”。

4、执行后将自动生成名为“汇总”的新工作表,包含所有源表数据(首行标题仅保留一次)。

四、使用Excel 365/2021新增的TOCOL函数横向转纵向合并

TOCOL函数可将多个独立区域(如各表A1:C10)一次性堆叠为单列或多列数组,配合INDEX与SEQUENCE可构建结构化汇总表,适用于固定区域且表数有限的场景。

1、在空白工作表中,确保各工作表数据区域完全对齐(例如均为A1:C10)。

2、在汇总表A1单元格输入公式:=TOCOL(表1!A1:C10&表2!A1:C10&表3!A1:C10,1)

3、在B1单元格输入:=INDEX({表1;表2;表3},INT((ROW(A1)-1)/ROWS(表1!A:A))+1),用于标记来源表名。

4、选中A1:B1区域,按Ctrl+Shift+Enter(旧版Excel)或直接回车(动态数组版本),生成堆叠结果。

5、复制结果区域,使用【选择性粘贴→数值】固化数据,避免公式依赖异常。

相关专题

更多
if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

769

2023.08.22

counta和count的区别
counta和count的区别

Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

198

2023.11.20

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

381

2023.08.02

int占多少字节
int占多少字节

int占4个字节,意味着一个int变量可以存储范围在-2,147,483,648到2,147,483,647之间的整数值,在某些情况下也可能是2个字节或8个字节,int是一种常用的数据类型,用于表示整数,需要根据具体情况选择合适的数据类型,以确保程序的正确性和性能。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

542

2024.08.29

c++怎么把double转成int
c++怎么把double转成int

本专题整合了 c++ double相关教程,阅读专题下面的文章了解更多详细内容。

53

2025.08.29

C++中int的含义
C++中int的含义

本专题整合了C++中int相关内容,阅读专题下面的文章了解更多详细内容。

197

2025.08.29

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

394

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

574

2023.08.10

c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

25

2026.01.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 13.2万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 2.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号