如何利用excel汇总多张相同样式表格的数据?

2025年03月23日 12:41
有4个网友回答
网友(1):

假设:每个报表是关于三个城市的每季度的业务数字,如图,想要把这四张表格,汇总成一张表格。

  1. 点击上图的“+”号,新建一个表格,重命名为“全年”。

  2. 单击“数据”选项卡——“数据工具”组中的“合并计算”,弹出“合并计算”对话框。

  3. 选中“首行”、“最左列”、“创建指向数据源的链接”三个复选框,单击“引用位置”右侧的按钮;单击第一季度的表,选中表格内容,返回。

  4. 第一季度表已经被汇总。

  5. 重复上述步骤,将第二、第三、第四季度的表汇总。
    技巧:如果表格名称规范、表哥范围固定,可以在“引用位置”里直接修改表名,然后单击“添加”。

  6. 数据汇总完成。

  7. 可以展开左侧的“+”号,查看每个项目包含的分表数据。

     

注意:上述“数据合并”,其实每个表不一定完全一样,比如有一个表多一列,有一个有很多行,只要指定的合并范围正确,都可以正确合并。

网友(2):

弄个程序 收集 合并后再 用透视表或者 Sumif 汇总, 可以直接统计 有多少个单位 避免遗漏

多个Excel 档放到 一个文件夹内
新建一个Excel档----Alt+F11 视图--代码窗口,把如下代码复制进去,按F5运行即可(如复制进去没有换行,先复制到Word 再复制进去) , 注意 收集 sheet1 的, sheet1 A 列不能为空,因为以A 列的行数为准

Sub 遍历当前文件夹下工作薄()
t = Timer
Application.ScreenUpdating = False
ActiveSheet.Range("2:10000").ClearContents
Dim i, r, wk As Workbook, sh As Worksheet, rr
p = ThisWorkbook.Path & "\"
s = Dir(p & "*.xls*")
Do While s <> ""
If s <> ThisWorkbook.Name Then
Set wk = Workbooks.Open(p & s)
arr = wk.Sheets("sheet1").UsedRange
r = UBound(arr)
For i = 2 To r
Set sh = wk.Sheets("sheet1")
With ThisWorkbook.Worksheets("sheet1")
rr = ThisWorkbook.Worksheets("sheet1").[A65536].End(xlUp).Row + 1
For j = 1 To 20
Cells(rr, j).Value = sh.Cells(i, j)
Next j
End With
Next i
wk.Close
End If
s = Dir
Loop
t1 = Timer - t
MsgBox ("所有工作薄收集完成,用时" & t1 & "秒")
Application.ScreenUpdating = True
End Sub

网友(3):

可以用vba完成.
下面的宏将选中的目录下所有文件的第一个工作表的b2单元格的值求和后放在当前文件第一个工作表的a1单元格.

Sub 数据汇总()
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
If .SelectedItems.Count = 0 Then Exit Sub
p = .SelectedItems(1) & "\"
End With
Application.ScreenUpdating = False
f = Dir(p & "*.xls")
With ThisWorkbook.Sheets(1)
Do While f <> ""
Set w = Workbooks.Open(p & f)
.Range("a1").Value = .Range("a1").Value + w.Sheets(1).Range("b2").Value
'可以仿照上句增加其它需要汇总的单元格.
w.Close False
f = Dir
Loop
End With
Application.ScreenUpdating = True
End Sub

网友(4):

用VF这个简单