中企动力 > 商学院 > excel多个sheet汇总
  • ?

    excel中如何将多个工作表做成汇总表

    鲁鹏笑

    展开

    1.工作簿中有多张工作表,A列和B列都有类似的数据,行数不同。

    2.选中“汇总”表A1单元格,点击【数据】-【合并计算】。

    3.左上角选择适当的运算方式,本例为“求和”。如下图所示点击选择按钮选择数据。

    4.选中第一张工作表数据,并点击【添加】按钮。

    5.顺序将其他工作表数据也添加进来。

    6.由于原始数据第一行是标题,并且要以A列数据分类汇总,所以选中下面两个选项。

    7.确定后就在“汇总”表生成了每个人的“数量”汇总求和数据。

    8.如果勾选【创建指向源数据的链接】则最终返回链接数据并汇总。

    9.完成汇总效果如下。

    10.点击每个人旁边的加号就可以看到汇总数据是从哪张工作表的哪个单元格引用过来的。

    (本文内容由百度知道网友茗童贡献)

  • ?

    Excel通用VBA代码一键合并多个工作表至总表!

    海妖

    展开

    转载自百家号作者:Excel自学成才

    一个工作簿中会有很多个相同格式,标题行内容和顺序都一样的工作表,我们想把这个工作表中的数据全部放至一个总表数据中。

    图片上示例是3个工作表,实际工作中可能是几十个,如果一个一个复制粘贴至总表里面,耗费的时间很长,并且容易出错,今天教大家用一段通用的VBA代码来实现一键快速合并,效果如下所示:

    只需要点击一下多表合并的按纽,后面所有工作表,会按顺序全部放至汇总表格中。

    现在是每个工作表中的标题是4个项目,如果是更多项目,同样的可以进行合并,例如我们在英雄1表格中添加一列

    用这个代码,同样的可以进行快速合并,只需要在汇总的表格中添加一个标题第五列,然后点击多表合并按纽即可

    同样的,如果是再添加1个工作表,在英雄1后面插入了一个sheet2表格,里面输入一条同样的数据,如下所示:

    同样的,只需要点击多表合并按纽便可完成,如下所示:

    那么这个VBA代码是什么,如下所示:

    Sub 多表合并()

    Dim arr()

    a = Range("a1").End(xlToRight).Column

    For Each sh In Sheets

    If sh.Name <> "汇总" Then

    arr1 = sh.Range("a2").Resize(sh.UsedRange.Rows.Count - 1, a)

    act = act + UBound(arr1)

    ReDim Preserve arr(1 To a, 1 To act) '

    For j = 1 To UBound(arr1)

    n = n + 1

    For i = 1 To a

    arr(i, n) = arr1(j, i)

    Next i

    Next j

    End If

    Next

    Sheets("汇总").[a2].Resize(n, a) = Application.Transpose(arr)

    End Sub

    这段代码直接保存即可,有了这段代码,我们在VBA中插入一个模块,将代码写入进去,插入一个按纽,绑定代码,即可实现,绑定代码的操作过程如下所示:

    好,你学会了吗?

    给自己持续学习的态度点个赞吧!

    欢迎留言讨论,期待您的转发分享!

    -------------------------------

    谢谢关注,更多精彩内容持续更新中....

  • ?

    Excel多工作表汇总,这个功能让你快速达成

    普罗普里亚诺

    展开

    Excel多工作表如何汇总,这是职场中经常碰到的问题之一。有多种方法可以达到这个效果,今天给大家带来一个简单的操作——合并计算。

    合并计算在哪?

    在【数据】选项卡,【数据工具】功能区。

    1、标题一致的多表汇总

    分表如下:

    各工作表标题一致的情况下,首先将光标定位在汇总表格的左上角单元格,然后再进行操作。光标定位在“引用位置”的文本框中选择各工作表的表格范围,然后点击“添加”。“首行”或“首列”根据情况选择,本例中即要首行的标题,也要首列的员工编号,所以都选择。

    最终完成效果如下:

    2、标题不一致的多表汇总

    如我们要将4个月的明细汇总到一个工作表中,各工作表除员工编号标题外,其它标题不同。

    操作方法一致,最终效果如下:

  • ?

    EXCEL多个工作簿快速合并到一个工作表,一键搞定!

    封宛

    展开

    快到年底了,有小伙伴提出了如何快速将12个月的数据合并到一个工作表问题,比如将每个月不同销售员不同产品的销售数据汇总到一个工作表。今天我们就来分享一个快速将多个结构相同的工作簿数据汇总到一个工作表的方法,快速简单,一键搞定,提问的小伙伴速来围观!

    一、如下数据源,我们需要将12个月的产品销售数据工作簿合并到一个工作表中。

    二、效果展示

    三、实现步骤

    1、导入VBA模块:新建一个EXCEL汇总表,将sheet1更名为“汇总表”,删除其余的工作表,按ALT+F11 调出VBA 编辑器 →在工程窗口右击选择【导入文件】→选择VBA 模块文件(快速合并工作表和工作簿.bas)→关闭VBA 编辑器。导入后可以从【开发工具】→【宏】处看到“合并工作簿”和“合并工作表”两个宏。

    2、制作一键"合并工作簿"和一键"合并工作表"按钮。插入矩形,输入文字“合并工作簿”并调整文字颜色大小和对齐方式等,然后复制一个矩形,并将文字改为“合并工作表”。选中文字为“合并工作簿”的矩形,右键→指定宏→选择宏“合并工作簿”,选中文字为“合并工作表”的矩形,右键→指定宏→选择宏“合并工作表”。

    3、合并1至12月的12个工作簿数据到1个工作表。单击“合并工作簿”,首先选择需要合并的所有工作簿,点【打开】,将12个月的销售表合并到EXCEL汇总表。然后复制标题行到汇总表的第一行,再单击“合并工作表”,所有工作表即汇总到汇总表中了。

    我是EXCEL学习微课堂,分享EXCEL学习的小技巧,小经验。如一键合并工作表如果分享的内容对您有用,欢迎点赞、收藏、评论、转发,更多的EXCEL技能,可以关注“EXCEL学习微课堂”。 需要一键快速合并多个工作簿到工作表原文件和VBA代码的,请评论转发后私信联系我或留下您的邮箱!

  • ?

    合并一个EXCEL多个sheet的内容到一个汇总sheet

    念心安

    展开

    继上篇大猫为大家介绍了合并多个工作簿的VBA代码之后,这篇我们继续为大家介绍一个实用的技能。

    将一个excel文档中的多个工作表进行合并为一个工作表

    打开要合并的工作簿

    按alt+F11进入VBA工程界面

    新建一个模块

    复制下面的代码,然后执行即可

    作用结果是:

    它会新建一个叫做“汇总”的工作表,然后把当前工作簿里的所有Sheet里有数据的内容都复制到“汇总”表里。提示:如果数据表里的内容没有表头的话需要把StartRow = 2改成StartRow = 1

    Function LastRow(sh As Worksheet)

    On Error Resume Next

    LastRow = sh.Cells.Find(what:="*", _

    After:=sh.Range("A1"), _

    Lookat:=xlPart, _

    LookIn:=xlFormulas, _

    SearchOrder:=xlByRows, _

    SearchDirection:=xlPrevious, _

    MatchCase:=False).Row

    On Error GoTo 0

    End Function

    Sub MergeSheets()

    Dim sh As Worksheet

    Dim DestSh As Worksheet

    Dim Last As Long

    Dim shLast As Long

    Dim CopyRng As Range

    Dim StartRow As Long

    Application.ScreenUpdating = False

    Application.EnableEvents = False

    '新建一个“汇总”工作表

    Application.DisplayAlerts = False

    ActiveWorkbook.Worksheets("汇总").Delete

    Application.DisplayAlerts = True

    Set DestSh = ActiveWorkbook.Worksheets.Add

    DestSh.Name = "汇总"

    '开始复制的行号,忽略表头,无表头请设置成1

    StartRow = 2

    For Each sh In ActiveWorkbook.Worksheets

    If sh.Name <> DestSh.Name Then

    Last = LastRow(DestSh)

    shLast = LastRow(sh)

    If shLast > 0 And shLast >= StartRow Then

    Set CopyRng = sh.Range(sh.Rows(StartRow), sh.Rows(shLast))

    If Last + CopyRng.Rows.Count > DestSh.Rows.Count Then

    MsgBox "内容太多放不下啦!"

    GoTo ExitSub

    End If

    CopyRng.Copy

    With DestSh.Cells(Last + 1, "A")

    .PasteSpecial xlPasteValues

    .PasteSpecial xlPasteFormats

    Application.CutCopyMode = False

    End With

    Next

    ExitSub:

    Application.GoTo DestSh.Cells(1)

    DestSh.Columns.AutoFit

    Application.ScreenUpdating = True

    Application.EnableEvents = True

    End Sub

  • ?

    Excel技巧:多个相同excel表格如何合并到一起!

    沙怜梦

    展开

    从事互联网行业的小编们,经常会遇到一个问题,就是导出多个Excel表格数据,经常是多个数据合并到一个excel表格里来做数据分析,那么如何快速的合并excel表格呢?

    1、把所有excel文件放在同一个文件夹里。如下图:

    2、打开汇总excel,并右键单击sheet1,找到“查看代码”,单击进去。进去之后就看到了宏计算界面。如图所示:

    3、然后我们把下面代码复制进去,然后找到工具栏上面的“运行”下的“运行子过程/用户窗体”,代码如下,如图所示:

    Sub 合并当前目录下所有工作簿的全部工作表()Dim MyPath, MyName, AWbNameDim Wb As Workbook, WbN As StringDim G As LongDim Num As LongDim BOX As StringApplication.ScreenUpdating = FalseMyPath = ActiveWorkbook.PathMyName = Dir(MyPath & "\" & "*.xls")AWbName = ActiveWorkbook.NameNum = 0Do While MyName <> ""If MyName <> AWbName ThenSet Wb = Workbooks.Open(MyPath & "\" & MyName)Num = Num + 1With Workbooks(1).ActiveSheet.Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)For G = 1 To Sheets.CountWb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)NextWbN = WbN & Chr(13) & Wb.NameWb.Close FalseEnd WithEnd IfMyName = DirLoopRange("B1").SelectApplication.ScreenUpdating = TrueMsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"End Sub

    运行几十秒钟就OK啦!如果表格数据过多的话,时间会久一点。

  • ?

    Excel VBA:汇总多个工作簿每个工作表名称包含指定关键词的数据

    骆傥

    展开

    今天再分享下汇总指定文件夹下每个工作簿中工作表名称包含某个指定关键词的小代码(当不指定关键词时,则默认汇总所有工作表数据)。

    举个栗子。假设有一文件夹,内有十几个工作簿,每个工作簿又各有多个不等数量的工作表,现在我们只想汇总每个工作簿中工作表名称包含“看见星光”的数据,那就可以使用我们今天分享的小代码了。

    如果是想把所有工作表的数据一股脑全部汇总呢?不管它什么“看见星光”还是“看见月光”的——也可以使用今天的代码,程序运行中弹出的输入关键词对话框什么都不填直接确定就可以了。

    小贴士:

    1、(重复说明)如果需要汇总所有工作表的数据,关键词对话框什么都不填直接确定就可以了、另外关键词不区分字母大小写。

    2、如果需要汇总的工作表含有多个不同的关键词……也是可以的,由于代码汇总后的数据后增加一个“来源工作表”的字段,表亲们可以先把所有工作表的数据汇总,然后根据“来源工作表”字段对数据明细进行筛选删除操作。

    代码如下:

    Sub Collectwks()

    Dim Sht As Worksheet, rng As Range, Sh As Worksheet

    Dim Trow&, k&, arr, brr, i&, j&, book&, a&

    Dim p$, f$, Headr, Keystr

    '

    With Application.FileDialog(msoFileDialogFolderPicker)

    '取得用户选择的文件夹路径

    .AllowMultiSelect = False

    If .Show Then p = .SelectedItems(1) Else Exit Sub

    End With

    If Right(p, 1) <> "\" Then p = p & "\"

    '

    Keystr = InputBox("请输入需要合并的工作表所包含的关键词:", "提醒")

    If StrPtr(Keystr) = 0 Then Exit Sub

    '如果点击了inputbox的取消或者关闭按钮,则退出程序

    Trow = Val(InputBox("请输入标题的行数", "提醒"))

    If Trow < 0 Then MsgBox "标题行数不能为负数。", 64, "警告": Exit Sub

    Set Sht = ActiveSheet

    Application.ScreenUpdating = False '关闭屏幕更新

    Cells.ClearContents

    Cells.NumberFormat = "@"

    '清空当前表数据并设置为文本格式

    ReDim brr(1 To 200000, 1 To 2)

    '定义装汇总结果的数组brr,最大行数为20万行,2列是临时的

    '

    f = Dir(p & "*.xls*") '开始遍历工作簿

    Do While f <>""

    If f <> ThisWorkbook.Name Then '避免同名文件重复打开出错

    With GetObject(p & f)

    '以'只读'形式读取文件时,使用getobject方法会比workbooks.open稍快

    For Each Sh In .Worksheets '遍历表

    If InStr(1, Sh.Name, Keystr, vbTextCompare) Then

    '如果表中包含关键词则进行汇总(不区分关键词字母大小写)

    Set rng = Sh.UsedRange

    If rng.Count > 1 Then

    '如果rng的单元格数量大于1……

    book = book + 1 '标记一下是否首个Sheet,如果首个sheet,BOOK=1

    a = IIf(book = 1, 1, Trow + 1) '遍历读取arr数组时是否扣掉标题行

    arr = rng.Value '数据区域读入数组arr

    If UBound(arr, 2) + 2 > UBound(brr, 2) Then

    '动态调整结果数组brr的最大列数,避免明细表列数不一的情况。

    ReDim Preserve brr(1 To 200000, 1 To UBound(arr, 2) + 2)

    End If

    For i = a To UBound(arr) '遍历行

    k = k + 1 '累加记录条数

    brr(k, 1) = f '数组第一列放工作簿名称

    brr(k, 2) = Sh.Name '数组第二列放工作表名称

    For j = 1 To UBound(arr, 2) '遍历列

    brr(k, j + 2) = arr(i, j)

    Next

    Next

    End If

    End If

    Next

    .Close False '关闭工作簿

    End With

    End If

    f = Dir '下一个表格

    Loop

    If k > 0 Then

    Sht.Select

    [a1].Offset(IIf(Trow = 0, 1, 0)).Resize(k, UBound(brr, 2)) = brr '放数据区域

    [a1].Resize(1, 2) = [{"来源工作簿名称","来源工作表名"}]

    MsgBox "汇总完成。"

    End If

    Application.ScreenUpdating = True '恢复屏幕更新

    End Sub

  • ?

    如何将多个Excel文件或工作表合并成一个

    魏念烟

    展开

    应用场景1

    老板:小王啊,调查一下大家对我们人事部的服务有什么意见或建议没。小王:好的。

    小王做好一份Excel调查表模板,分发下去。然后收到了100份结果文件。

    应用场景2

    老板:小王啊,还有5分钟我就要开会了,我们12家门店的销售情况表汇总到一起了吧。

    小王应该怎么合并这些Excel文件?一个一个复制到手软吗?

    合并多个Excel文件

    第一步:将所有的Excel调查表文件存放在同一个文件夹下。打开一个空白Excel文件,点击“新建查询”,选择“从文件夹”中导入,然后粘贴所有Excel调查表所在路径。

    第二步:在“组合”下拉菜单中选择“合并和编辑”。

    第三步:选中要合并的工作表。

    第四步:点击Power Query编辑器中的“关闭并上载”。

    稍等片刻,所有的文件就都合并到同一个工作表啦。

    可以看到表头的两行重复显示了很多遍。使用定位或筛选功能,删除多余的行即可。

    当然,也可以在上述步骤4“关闭并上载”之前删除一些行。

    更新数据

    小王好开心,100份Excel调查表就这么轻松地合并到一起了。小丽:小王,我的调查表修改了一下,发一份新的给你吧。小王……

    小王,莫急,直接在原来的文件夹下替换小丽的调查表,然后在合并后的汇总表上,右键一下,点击“刷新”即可。

    合并多个Excel工作表

    和合并excel文件类似,用Power Query同样可以快速完成。

    第一步:打开一个空白Excel文件,点击“新建查询”,选择“从工作簿”中导入,然后打开需要汇总的Excel文件。

    第二步:选中所有要合并的工作表名称,然后点击“编辑”。

    第三步:按照图示的步骤,点击“追加查询”,然后将所有的工作表添加进来。

    最后点击“关闭并上载”,所有工作表内容就合并到一个工作表下啦。同样的,如果原始的表格数据更新,在汇总表上刷新一下即可同步更新数据。

    注意:以上步骤都基于Power Query插件,Excel2016才支持。使用低版本的Excel或WPS的朋友请查考明日的文章。

    相关阅读:《多个word文档怎么合并》。

    谢谢阅读,每天学一点,省下时间充实自己。欢迎点赞、评论、关注和点击头像。

  • ?

    Excel多工作表数据汇总到一个工作表,其实很简单

    包灵竹

    展开

    我们有时候需要将在多个工作表的数据到同一个工作表当中,首先我们需要确认的是这些数据的格式是否具有一致性,如果所有的数据格式都是一样的,那么这个问题就非常好处理了。今天和大家分享的是一键汇总各分表数据到总表。

    照例举个栗子,如下图,一个工作簿,包含多个工作表的格式都是相同,现在需要将各个分表的数据汇总到总表中,如果是你,你会怎么去做?

    数据分别在不同的工作表中,每个工作表的数据格式都是一致的。

    也许你会想到使用数据透视表或者合并计算等方式进行操作。但是你会发现这两种操作方式都有它的不足或者扩展性不强。比如说,当标题行或列是多行(多列)或者存在合并单元格时,也就无能无力了。

    我和你说的是VBA代码来实现这个,有时候就是那么一瞬间的错过,你就不会再遇到啦!

    我们首先看看,下面的动画教程:

    PS:是将分表的数据汇总明细到当前活动的工作表,因此在使用时务必先在需要汇总的表中执行。

    附上VBA源代码

    以上就是今天要和大家分享的技巧,希望对大家有所帮助,祝各位一天好心情!

    唯有不断学习,才能不被淘汰!

    Excel中每一个方法都有特定的用途,不是他们没有用处,只是你不了解或者暂时用不着,建议你收藏起来,万一哪天用着呢?

  • ?

    Excel多表汇总?没有比这个更简单实用的技巧了

    宁成危

    展开

    关于多表汇总的问题,我在类似的问题中介绍了一种非常好的方法:Power Query(有兴趣的同学,请参考仅需3分钟,轻松帮你搞定Excel多表数据汇总)。下面我来介绍一种更为简单的汇总多表数据的技巧。如何快速汇总下图中的12个sheet中的数据到总表呢?

    一、无链接简单汇总法(各个数据源发生变化,汇总表不发生变化)

    1.选择sheet汇总中的任意空白单元格,依次单击“数据”--“合并计算”,如下图所示:

    2.在弹出的对话框中函数设置为:“求和”。单击引用位置的折叠按钮选择在各个sheet中的数据区域并添加到所有引用位置列表中。勾选标签位置下的“首行”和“最左列”选项,单击确定。

    3.我们将得到如下的汇总表,这时候我们可以删除B列和C列,或者将任意sheet中的B列和C列数据复制粘贴到汇总表中即可。

    二、有链接的数据汇总(汇总结果随数据源的变化而变化)

    此种方式与上面介绍的方法唯一不同的地方就在于多勾选了一个选项,操作技巧都一样,只是在上面设置合并计算对话框时勾选一下:“创建指向源数据的链接”即可。

    得到的结果也会有所不同。

    包含了公式,且前面变成分类汇总的样式。

excel多个sheet汇总

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP