excel多个子表合并到一张表(一个表内多个sheet合并)
excel多个子表合并到一张表
日常工作中,我们经常需要把Excel多个表格数据合并到一个表,今天跟大家的是使用合并计算来进行多表数据合并。需要注意的是合并计算方法主要解决的是字段结构相同的多张表数据合并到一张表中。所谓字段结构相同就是指要合并的多张表,每一张的列名、列的数量、对应列的数据类型上都需要一致,否则无法实现数据合并。如下图所示这三张表
都是3列数据,除了最左列"名称"这列需要一致,表格其它列的顺序可以不同,但是对应列名和数据类型一致。
操作方法:
1、首先新建一张工作表→然后鼠标选中任意一个空白单元格→接着点击【数据】选项卡下的【合并计算】,调出“合并计算”窗口,如下图所示
2、在弹出的“合并计算”窗口中“函数”选择:求和→“引用位置”分别选择:一季度销售数据、二季度销售数据、三季度销售数据的数据区域(备注:要合并计算几个表格就分别选择对应的表格数据区域),将它们添加到“所有引用位置”中→接着将“标签位置”设置为【首行】与【最左列】,最后点击确定。
3、我们会发现合并后的**列列名缺少,我们手动填写上就可以了
一个表内多个sheet合并
需求:有一个Excel表格,里面有多个表头一样的sheet页,需要将Excel表格中的所有sheet页数据汇总到一起。
难点:将Excel表中的所有sheet页(表头格式相同)的数据汇总到一起
步骤:
1、打开需要处理的Excel表格文件,里面有6个sheet页,分别为1月、2月、3月、4月、5月、6月。
2、在同一个Excel中新建一个空白新的sheet页。
3、打开菜单“开发工具-》VB器”。
4、将如下VB代码复制到器中,点击菜单“运行-》运行子过程”
Sub合并当前工作簿下的所有工作表() Application.ScreenUpdating=False Forj=1ToSheets.Count IfSheets(j).Name<>ActiveSheet.NameThen X=Range("A655360").End(xlUp).Row+1 Sheets(j).UsedRange.CopyCells(X,1) EndIf Next Range("B1").Select Application.ScreenUpdating=True MsgBox"当前工作簿下的全部工作表已经合并完毕!",vbInformation,"提示" EndSub
5、运行后,在新建的sheet页会把表格中其他所有sheet页的数据(1月、2月、3月、4月、5月、6月)汇总到一起,结果如下,但是有重复的表头,需要通过筛选的方式将多余的表头删除掉即可