工作中相信绝大多数的同学都碰到过,如何将多个工作表数据进行汇总合并到一张表的问题。每次碰到这个问题,许多同学都各种查找知识,今天我们就来详细学习一下,Excel中进行数据合并的5种方法。
方法1:Sum函数搭配通配符(*)进行多表数据汇总
函数=sum('*'!B2)
讲解:通过用sum用通配符*求和的方式来求出每张工作表对应位置的数据之和进行汇总。这个案例需要注意的重点有2个:
1.1 通配符*代表的是任意工作表中的B2单元格;
1.2 A产品、B产品、C产品等不同产品工作表和汇总表中数据汇总区域,姓名和月份的数据位置都需要保持一致,位置不能错乱。
方法2:Sum函数公式多表嵌套下的数据汇总(非通配符)
函数=sum(产品A:产品C!B2)
讲解:这个函数跟方法1中的通配符搭配的方法原理一致,同样是需要每张工作表数据对应的位置需要相同。
方法3:Indirect函数实现跨工作表数据汇总
函数=Indirect(B$1&"!B"&ROW())
解析:在这里我们通过取不同工作表名称作为汇总数据的行标题,利用INDIRECT函数调用B1单元格提取对应工作表的数据。其中ROW()代表返回当前的行的值。如函数中B&ROW()=B2单元格。
方法4:数据透视表对不规则表格下数据进行汇总
操作方法:
4.1 依次按alt、D、P等按键,进入数透视表透视向导图界面,选择多表合并计算区域;
4.2 依次分别选择每张工作表对应区域,添加区域后点击下一步,点击创建新工作表。
讲解:这样的操作是利用了数据透视表汇总的方法,来添加在每张页面产品关键词对应的位置都不一样的时候的操作方法。
方法5:利用VBA代码实现多工作表数据汇总
代码如下:
Sub 多表合并()
Dim i%, rs%, rss%, st As Worksheet, ast As Worksheet
Set zst = Sheet4 '将汇总工作表第一季度定义为变量zst
For i = 1 To 3
Set st = Sheets(i & "月") '将1-3月的工作表定义为变量st
rs = st.UsedRange.Rows.Count '计算1-3月每个表的最后一行
rss = zst.UsedRange.Rows.Count + 1 '计算第一季度工作表的最后一行的下一行
st.Range("A2:B" & rs).Copy Cells(rss, 1) '复制1月、2月、3月每个工作表的数据到第一季度的汇总表中
Cells(rss, 3).Resize(rs - 1) = i & "月" '将1-3月工作表的工作吗写入到汇总表对应的月份当中
Next
End Sub
通过上面对同一工作簿下面的多个工作表数据汇总方法的详细讲解,我们采样了函数公式、数据透视表及VBA代码等方法来实现多表数据合并。现在你知道如何对不同常见下的多工作表,完成数据汇总工作了吗?