返回目录:excel表格制作
怎么把excel所有数据全并为一个表?
多表合一的方法很多,我从网上搜集了几种方法供题主参考
1、VBA方法
2、函数方法
3、合并计算方法
4、自己原创的快捷方法。
方法1:VBA宏命令法
首先我们要有自己的excel数据,并且我们需要的是microsoft excel,WPS没有这些负责的功能。比如我下面举例的,我自己有205页的数据需要合并,如图所示。
- 2
看到这么多数据页要合并,如果是复制粘贴的话,工作量就很大了。我们现在开始合并,首先要在最前页新建一个工作表。如图:
- 3
在新建的sheet表中“右键”,找到“查看代码”,然后看到宏计算界面。如图所示:
- 4
看到宏计算界面,我们就只需要把下面的代码复制进去,代码如下,效果如下:
Sub 合并当前工作簿下的所有工作表()
Application.ScreenUpdating = False
For j = 1 To Sheets.Count
If Sheets(j).Name <> ActiveSheet.Name Then
X = Range("A65536").End(xlUp).Row + 1
Sheets(j).UsedRange.Copy Cells(X, 1)
End If
Next
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"
End Sub
- 5
做完上面的事情,然后只需要点击工具栏上面的“运行”下的“运行子过程/用户窗体”就可以了,合并完之后会有提示。提示完成之后就可以把宏计算界面关闭了。如图所示:
- 6
合并后的效果如下图,我们看到的是合并之后有8000多行,就是205页合并后的结果。谢谢。如有疑问,请留言。
这就是excel利用宏命令将多个工作表合并到一个excel表的方法。
方法2:利用函数合并
【例】如下表所示,有N多个以日期命名的excel工作表(为演示方便以6个为例),现需要把表格全部合并到一个表中去。
操作步骤:
1、生成日期序列。
要想根据工作表名称提取各表的数据,需要在汇总表先生成工作表名称的序列。用下面的公式
=TEXT(ROW(A41640),"m.d")
公式说明:
41640是2014-1-1的数字形式,用Row函数可以让公式向下复制自动生成递增的数字序列,即2014年的所有日期
TEXT(日期,"m.d") 生成“月.日"的格式
注意:生成日期后,通过复制-粘贴-数值的方法把公式转换为数值
2、根据日期提取各表的数据。
从不同的表提取数值,依旧需要Inirect函数。
=INDIRECT($A2&"!"&ADDRESS(INT((ROW(A1)-1)/6)+2,COLUMN(A1)))
公式说明:
对于新手,可以不用理解这个公式的意思,可以直接套用即可。把/6中数字6修改为要合并的工作表实际个数。$A2是工作表名称所在列(本例是A列)
INT((ROW(A1)-1)/6)+2:目的是生成2,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,4..序列
ADDRESS():动态生成引用的单元格地址
3、复制公式
复制A:C列区域(如果有300个表就选取A2:C301),然后选取下面的空行粘贴即可完成全部数据提取。
利用函数完成合并。
方法3、合并计算
以三个库的库存表为例,每个仓库库存型号和数量都不一样,其中其中有重合,现在我们怎么才能计算出汇总库存量出来?
首先在这三张库存表后新建一个工作表,命名为汇总,用鼠标选中该工作表的A1单元格,然后选择菜单栏中的数据——点击合并计算。
跳出界面以后,函数那里用求和,将鼠标点在引用位置下方的长框内
再将库1的数据都选中
点击合并计算上的添加按钮
按照同样的方法,将库2和库3的数据都添加上,如下图所示。再勾选上面的首行和最左列。
其中将三个表的数据都添加上去表示我们要把这三个表的数据进行合并计算,计算函数就是前面选择的求和。
首行和最左列表示我们要按照首行的型号、数量以及最左列的产品型号作为标签分类合并计算它的数量。
点击确定。
结果就是这样,将每种库存的数量都汇总出来了。但是型号上面缺少了标签,没关系,自己添加就是。
添加好了,那么一张库存汇总表就完成了。怎么样?合并计算的功能是不是非常强大?
方法4,SUM()快捷合并方法
其实,多表合一方法有很多,最后一种是原创方法,相对简单易懂!
将下图一月、二月、三月3张表数据合并汇总到一季度表中。
方法非常简单,选择C2:E5区域,输入SUM('*'!C2), 按Ctrl+Enter。
3个月的数据瞬间合并完毕
反思一下,如果只合并1月和2月两个表的数据呢?
很简单!在C2单元格输入SUM('1月:2月'!C2),即可
再问:合并1月和3月的两个表格,函数应该怎么写呢?
=SUM('1月'!C2,'3月'!C2)
下面把表格改一下,看看另一种合并方式
三个表格分公司A、分公司B、分公司C这三列,进行汇总。
在B2单元格输入 =INDIRECT(B$1“!b”ROW()) 即可
NDIRECT(B$1“!b“ROW())文本引用,即引用分公司AB2单元格数据。
注意:INDIRECT()参数不加引号情况下只做地址引用,只返回单元格地址。
希望大家可以通过以上几种合并效果,可以举一反三,做出更有效的函数应用。
关注后私聊回复相应的关键字获取表格!
行业财务报表:回复“财务报表”
项目进度表:回复“项目进度表”
考勤表:回复“考勤表”
HR管理系统:回复“HR管理”
仓管表:回复“仓管表”
Office Excel2016最新版:回复“2016”
更多模板持续放送!您的关注就是最大的支持!