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

    合并一个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超高效汇总表格,看这篇就够了

    Mei

    展开

    excel使用技巧大全如何汇总多个excel表格这是很多朋友都非常困扰的一个问题,今天我们来介绍一下不用公式如何来轻松的完成。

    如下图所示,在一个工作簿中有4个城市的销量表,我们现在要将这4个表用数据表来汇总起来。

    方法如下:1、按alt+d键,松开后按d键。这时就会打开数据透视表和数据透视图向导,第1步选取“多重合并计算数据区域”,请看下图。

    2、点击“自定义页字段”

    3、添加区域和设置字段数目和名称。

    4、添加要合并的所有表格,并且依次的给所有表设置名称和字段数目。

    5、点击完成后就会生成数据透视表,将页字段名字从“页1”改成“城市”,“行”改成“产品”。

    没更改前:

    更改后为:

    设置ok!

    下面我们就能够通过字段位置的调整来完成模式不同的汇总。

    以城市+产品汇总

    以产品+城市汇总

    数据透视表只是可以完成一些比较简单的表格的合并,但一些行数列数比较多比较复杂,格式又不一致的表格就要用到SQL语句来合并了。在之后的课堂上我们会讲到这个的,谢谢。

  • ?

    5分钟搞定Excel多表统计,太简单啦!

    Marans

    展开

    同样一个任务,一个人花了5小时,吃了很多苦,做到60分;另一个人花了5分钟,轻轻松松,做到了80分。你会给第一个人点赞,夸她棒吗?

    在职场,过程不重要,结果才是最重要的。

    1.格式相同的表格,要在第一个表汇总后面所有表格D列的总量。

    格式相同的表,多少个都一样,一个SUM函数就秒杀了。

    =SUM('4.1:4.7'!D3)

    语法:

    SUM(起始表格名称:结束表格名称!单元格)

    表格名称没有规律也可以,在有特殊字符的情况下需要加''。

    我们知道*是通配符,代表所有的意思,在这里也可以用*来实现统计。

    =SUM('*'!D3)

    2.同样也是格式相同,但要汇总的形式不一样,要汇总每一个月份的总销量。

    这里是用SUM+INDIRECT函数的组合实现。

    可能很多人一开始直接就用SUM,可惜得到的是错误值。A2&"!C:C"被当成文本处理,而不是区域。

    =SUM(A2&"!C:C")

    我们正常的引用都是直接引用,如区域C:C。间接引用就是通过第三者才能获得的,如INDIRECT("C:C")。也就是说,只要嵌套个INDIRECT函数就可以。

    3.跟上一个例子很像,唯一的差别就是最后多一个合计的实发数量,而每一个表格的行数不确定。现在要获取每个表合计的实发数量。

    这种有很多种处理方法,最简单的办法有两种。

    01 查找每个表,最后一个数量。

    =LOOKUP(9E+307,INDIRECT(A2&"!B:B"))

    02 统计每个表的数量后再除以2。

    =SUM(INDIRECT(A2&"!B:B"))/2

    4.现在换成统计商品的销售量。

    明细表

    汇总表

    难度瞬间就上来了,要结合好多函数。

    =SUMPRODUCT(SUMIF(INDIRECT(ROW($1:$6)&"月!B:B"),A2,INDIRECT(ROW($1:$6)&"月!C:C")))

    看起来很复杂,但实际上也不是太难理解。

    INDIRECT(ROW($1:$6)&"月!B:B")这部分就是获取1-6月的B列

    INDIRECT(ROW($1:$6)&"月!C:C")这部分就是获取1-6月的C列

    SUMIF(1-6月的B列,A2,1-6月的C列)就是分别统计这6个表

    SUMPRODUCT(SUMIF())就是将最终这6个表进行求和

    看了这个技巧是不是很惊喜。惊喜就分享给你的朋友吧!

  • ?

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

    尤葶

    展开

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

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

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

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

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

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

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

    附上VBA源代码

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

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

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

  • ?

    Excel中SUM函数快速多表汇总,get一个新技能

    高冰双

    展开

    Excel中的SUM函数有一个特殊的表示方法,可以快速对多个表格进行汇总,这个可是很好用的技巧哟。我们继续接上次的例子,假设每个月的销售记录都是一张表,每个月的数据格式都是相同的,如图所示:

    先来看一下第一个最简单的汇总方式,汇总所有月份的邹宇的电视机的销售量:

    =SUM('*'!C2)

    回车后函数变为=SUM('1月:6月'!C2),结果为449,是不是非常简单实用?

    Tips:

    *是通配符,代表所有字符,用在这里的意思是代表除了公示外(汇总)所有表格。如果工作簿中还存在其他工作表,为确保结果的准确性,建议表示为:

    =SUM('*月'!C2)

    以上只是一个很简单的例子,现在我们就来说一个比较实用的,我们将要汇总每个月的总销售量,如图:

    要汇总每个月的销售量,该如何做?

    有些勤劳的小伙伴可能会说了,这很简单呀,直接SUM函数然后分别引用就可以啦。如下所示:

    1月:=SUM('1月'!C:C)

    2月:=SUM('2月'!C:C)

    ……

    6月:=SUM('6月'!C:C)

    当然这也是一种不错的办法,不过作为Excel我们就应该考虑扩展性,假如是12个月?或者是按照销售人员分表,那不得上百个表呀?难道还得一个一个更改公示吗?如果时间充足,那也无可厚非,但是作为懒惰的我是绝对不允许这样的事情发生的。现在每个表格的名称已经知道,那就使用引用呗。如下:

    =SUM("A2""!C:C")

    如下图所示,得到的结果是#VALUE!,警告出错,原因是里面的引用区域仅仅是文本而非区域,那该怎么办呢?

    别急,这时另一个函数INDIRECT就该派上用场了,这个函数可以对文本进行引用,也叫间接引用,也就是说只有通过“小三”才能获得引用,是这样的:

    =SUM(INDIRECT(A3 & "!C:C"))

    结果如图:

    换一个角度来说,INDIRECT就是能把一个单元格中的文本变为区域的引用,其实也很简单的哟。

    是不是一个简单的SUM函数却有很强大的功能?希望大家在函数的学习过程中能够举一反三,争取得到更多的技巧!!

  • ?

    超重量级的Excel多表“合并及汇总”功能,99.99%的人都没用过!

    权傲云

    展开

    前言:最近总有同学提问

    怎么能合并多个工作簿?多个Excel表格汇总到一个表中?怎么把表分发给其他人做调查,收回后能批量合并到一个表中?

    合并多个表的确是一个难题,好象除了VBA也没有什么好办法,即使是新兴的power query也很难完成固定位置合并的问题。其实兰色在06年就发现了个很神奇的工作簿合并的功能,所以今天再把这篇旧文翻出来,希望能帮到大家。

    这个功能是小编昨天无意中发现的,为什么称它为超重量级Excel功能,小编先给你演示个操作。

    【例】在一个文件夹中有N个公司的Excel格式报表,需要把这些报表的数据合并到“报表.xlsx”中。

    只是点了一个按钮,然后选取了要合并的文件,刷刷刷,各公司的数据已全部合并过来了,是不是很神奇!(合并多个文件的多个工作表也适用)

    小编在合并过程中,使用了一个在Excel中隐藏很深的功能:比较和合并工作簿

    我们先把它揪出来:

    文件- 选项 - 快速访问工具栏 - 不在功能区域中的命令 - 找到“比较和合并工作簿”

    然后在快速访问工具栏中就可以看到它了,只是它是灰色的。

    它到底怎么才可以用? 和小编一起开始操作吧!

    1、先设置一个报表模板(可以有多个工作表),把格式设置好,然后设置成共享工作簿。

    2、把设置好的模板发放给各公司填写。

    3、收到各公司上缴的报表,放在一个文件夹里。

    4、合并时,点击“比较与合并工作簿"按钮,选取要合并的文件,然后.....如开始动画演示。多个Excel文件的合并瞬间完成!

    在实际工作中,这个功能可以省去非常大的工作量,毕竟把N多个报表汇总到一起是一件多么枯燥又费力的事情。

    但这个功能只是合并而不能汇总。

    别急,小编再教大家一个神技能,多个表格如何汇总!

    多个Excel表格汇总到一个表中,有一个神秘技巧帮你实现!

    如下图所示工资表中,含有多个月份的数据。要求在汇总表中把所有月份的数据汇总到一起。

    操作步骤:

    1、数据选项卡 - 现有连接 - 浏览更多。

    2、找到当前操作的excel文件。

    3、选取任一个表格名称

    4、【导入数据】窗口中,显示方式选“数据透视表”,放置位置选工资表A1单元格(也可以选新工作表)

    5、选取刚创建的数据透视表,然后点击 数据透视表工具 - 选项 - 更改数据源 - 连接属性。

    6、把下面的代码粘贴到命令文本框里。

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

    select '3月' as 月份, * from [3月$] union all select '4月' as 月份, * from [4月$]union all select '5月' as 月份, * from [5月$]

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

    代码说明:

    1) 具体的SQL语句一言两语也说不清楚,同学们只需要按下面的模式套用即可。有多少表,连接多少个。

    Select * from [表1$] union all Select * from [表2$] union all Select * from [表3$]....union all Select * from [表N$]

    2) '3月' as 月份: 是为三个表创建一个共同的字段(月份),其中引号内3月为自定义字符,用来区分工作表,只是不一定要和工作表名称一致。月份是数据透视表要用的字段名,也是自定义的。中间用 as 连接,放在select 之后 *号之前。如果不需要为三个表创建共同字段名,此部分可以省略。

    7、连接完成!下面就是对数据透视表的基本操作,添加行、列标标签和数据标签。

    8、调整格式和修改字段标题。最终效果如下图所示。

  • ?

    多个excel表格合并汇总,无需公式只要鼠标点点!

    無所謂

    展开

    汇总多个excel表格,一直困绕着很多职场同事,今天介绍的方法,不需要用任何公式就可以轻松完成,只用鼠标点点。

    【例】如下图所示,在一个工作簿中有四个城市的销售表,需要根据这4个表格,用数据透视表进行汇总。

    具体步骤:

    1、按alt+d组合键,松开后再快速按p键。会打开数据透视表向导,在第一步中选取“多重合并计算数据区域”

    2、选取“自定义页字段”

    3、添加区域和设置字段数目及名称

    4、添加所有要合并的表,并分别设置字段数目和名称。

    5、点击完成后,会自动生成数据透视表。把页字段名字由“页1”改为“城市”、“行”改为“产品”。

    更改前:

    更改后

    设置OK!

    接下来就可以通过调整字段位置,来完成不同模式的汇总。

    以城市+产品汇总

    以产品+城市汇总

    数据透视表只能完成表格结构相对简单的合并、而对于列数较多、格式不完全一致的表格进行合并(如由入库表和出库表生成 进销存报表),就需要使用SQL语句合并。|来源: Excel精英培训

    百家号-【袁帅数据分析运营】运营者:袁帅,会展业信息化、数字化领域专家。新社汇平台联合创始人,永洪数据科学研究院MVP。认证数据分析师、网络营销师、SEM搜索引擎营销师、SEO工程师、中国电子商务职业经理人。畅销书《互联网销售宝典》联合出品人。

  • ?

    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文件或工作表合并成一个

    宣惜寒

    展开

    应用场景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多表汇总?没有比这个更简单实用的技巧了

    鹿莹芝

    展开

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

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

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

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

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

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

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

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

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

多个excel表汇总

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

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

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP