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

    Excel | 多个表批量合并一起,告别手动复制粘贴

    栖息

    展开

    如果是跟数据打交道的小伙伴(财务、人事、数据分析类),一天负责十几张表格应该是正常事情,但是这十几张表格大多数结构类似,主要由于上传的部门不一样或者是分公司上传过来,当你一遍遍复制粘贴,老板在聊天软件上不停地消息催促你的汇总表。

    就会有有趣的事情发生了。

    嘤嘤嘤,老板真不是我的问题啊(( ▼-▼ ))

    汇总神器:Power Query

    解决这个问题的神器就是它:Power Query

    首先这个Power Query可不是插件!他是Excel2016版本自带的一个功能,实际上呢也是微软PowerBI(可视化数据工具)的附带功能,微软的数据导入亲儿子。

    Power Query可应用的场景可多了:关系型数据库、Excel、文本和XML文件,OData提要、web页面、Hadoop的HDFS等等。

    【数据】菜单-右侧就是Power Query啦

    而数据整合以后,就建立好数据模型,为用Excel、Power Pivot、Power View、Power Map进行进一步的数据分析做好准备。

    并且这个设置都是自动化的!一次设置以后,后续右键刷新即可。

    什么?你只装2007版本?老哥现在是2018年了为,不过你要使用Power Query也不是不可以,那就要去官网下载了,相关链接:

    Power BI:

    https://powerbi.microsoft/zh-cn/desktop/

    Power Query:

    http://microsoft/zh-cn/download/details.aspx?id=39379

    老哥,为什么我下载了还是不行啊?

    老铁,WPS可没有这个功能........

    场景1:同文件,多sheet的合并

    同文件,多sheet的合并,我们来设置下(文件名:表1)

    表1~表4(表格格式一样,规范)

    每个sheet分别是一个代销商信息,所有列是一一对应的,没有列混乱的。

    那我们就新建一个新的sheet,取名“汇总表”

    【菜单栏】→【数据】 →【新建查询】→【从文件】 →【从工作簿】

    选择文件【表1】、“打开”后,进入【导航器】,可以看到文件中的4个sheet,勾选“选择多项”,然后勾选所需的sheet,点击右下角【加载】。

    稍等片刻,右边弹出“工作簿查询”窗口后会显示刚刚导入的四个表格。

    重点来了!点击【新建查询】→在下拉菜单中找到【合并查询】→选择【追加】→在追加窗中选择【三个或更多表】→选取数据→点击【确定】

    这时【查询编辑器】会自动打开看到几个sheet数据已经追加在一起了。 之后点击【关闭并上载】就可以看到了最后的我们要的【汇总表】了!

    表要修改数据?不要紧,在原sheet进行修改然后再汇总表进行右键刷新就可以。

    要追加新的Sheet?没事,下面就教下如何快速增加心得Sheet数据,不必会去再去导入:

    在汇总表中点击【数据】→【新建查询】→在下拉菜单中找到【合并查询→【编辑器】→点击【高级编辑器】

    在源 = Table.Combine({表1, 表2, 表4, 表3})后面添加正确的表名就可以,比如:源 = Table.Combine({表1, 表2, 表4, 表3,表4})→完成点击左上角的【关闭并上载】

    场景2:多个文件的合并

    假设你的文件还是刚才那几个数据源,但是Sheet变成文件了,但是在同一个文件夹,那么就是另外一个操作方法。

    注意文件夹不要有其他无关的文件,不然会影响计算。

    首先新建一个表格→【数据】→【新建查询】→【从文件夹】→在弹窗中选择目标文件夹路径确定

    然后点击右下角的【编辑】弹出【查询编辑器】

    新建自定义列:键入公式 =Excel.Workbook([Content])

    注意公式一定要一模一样,包括大小写、全半角、符号。

    然后点击最后一列【确认】两次,如图所示(必须点两下确认哦!要扩展两次。)

    然后我们在【转换】→【把第一行作为标题】→【地区】这一列进行筛选,取消地区的勾选,这样就不会有重复的标题出现了

    最后删除无关数据列,选中地区列,按住shift键,单击代销商列,这样正确的数据源都被选中后,在列标题上右键单击【删除其他列】

    完成后点击左上角的【关闭并上载】,数据就完成啦~

    本次教程结束

    谢谢各位观看~

    如有问题可以在后台提问或者私信我

    Excel | HR必备神器,员工生日自动化提醒

    图表说 | 如何六步制作商业级的柱状图

    图表说01-平时用的这些图表,可能会害了你

    技巧 | 日常工作时必备的 Excel 技能有哪些?

  • ?

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

    豆豆鱼

    展开

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

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

    具体步骤:

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

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

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

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

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

    更改前:

    更改后

    设置OK!

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

    以城市+产品汇总

    以产品+城市汇总

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

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

  • ?

    合并多个Excel文件,不管什么版本的Excel或WPS都适用

    韩青旋

    展开

    昨日,分享了使用Power Query插件快速合并多个Excel的方法,可惜很多朋友表示还没用上Excel2016。所以,今天分享一个新方法,不管什么版本的Excel,或者WPS表格,都适用。

    实例

    将一个部门所有人半年的销售数据合并到一份Excel文件中。

    思路

    我们想获取单元格A1的内容,就会输入公式“=A1”;如果要获取Sheet1下的A1内容,就会输入“=Sheet1!A1”;如果要获取的在“解晴.xlsx”文件下,就会输入“='D:\数据\[解晴.xlsx]Sheet1'!A1”。基于此,我们可以不用打开Excel文件,便轻松合并多个Excel。

    步骤1:提取Excel文件名称

    在命令提示符中输入“dir /b Excel文件所在路径”获取所有Excel文件的名称,复制名称到一个空白Excel工作表中。然后复制A列所有的名称,选中“B1:H8”区域,按“Ctrl + V”粘贴,这样“A-H”列都粘贴上了Excel文件名。

    为什么是“A-H”列呢,因为原数据就是这样的。

    步骤2:Excel名称转换成一列

    复制“A-H”列数据粘贴到Word文档中,选择“只保留文本”,然后使用“文本转表格”工具转换成一列数据的表格。

    步骤3:创建辅助表,获取源数据单元格地址

    将一列的Excel名称粘贴到汇总表的A列,在“B-I”列输入“A1-H8”,即要合并的Excel文件中数据的单元格地址。

    复制“B1-I8”数据,然后在输入栏左侧的名称中输入“B9:I40”,按Enter键选中这块区域,最后按“Ctrl + V”粘贴,效果同步骤1。

    步骤4:输入公式,连接Excel文件名和数据地址

    J1公式:="t='D:\数据\["&$A1&"]Sheet1'!"&B1

    公式中的“D:\数据\”是Excel文件路径,“Sheet1”是要合并的Excel文件中的工作表名称。

    公式输入后,向右填充,直到结果显示“H1”为止。然后选中这些公式,双击填充所有的公式。

    步骤5:粘贴为数值,然后将文本公式转换成真正的公式

    复制步骤4的结果,选择性粘贴为数值。然后将“t=”替换为“=”。

    所有Excel文件的内容就都合并到一起啦。

    看起来似乎有点复杂,但其实很容易,只要稍微理解一下整个的思路就好了。

    方法优点:

    不限Excel版本和 wps版本,比Power Query灵活。可用于合并多个工作表。想提取几行或几列都可以,取决于你在创建辅助表时,输入了多少单元格地址。本例中的“A1-H1”是标题行,创建辅助表时,删除“A1-H1”,就不会多次提取到标题了。

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

  • ?

    Excel办公应用:多个表中的数据汇总到一个表中

    落斜阳

    展开

    在工作中,我们经常需要把多个表中的数据汇总到一个表中。

    这必须考虑以下三种情况:

    情况一:多个表在同一工作簿中,表的结构相似,表头内容顺序一致。

    解决方案:使用函数公式完成

    具体方法,如下动图演示:

    重点:在“总销售额”表单中的"B2"单元格中,输入公式【=SUM(华北区:华南区!B2)】

    情况二:多个表在同一工作簿中,表的结构相似,表头内容顺序不一致。

    解决方案:使用【数据】-【合并计算】完成

    情况三:多个表不在同一工作簿中,表的结构和表头内容可随意。

    解决方案:使用VBA代码完成

    具体方法,如下代码:

    Sub CombineWbs()

    Dim bt As Range, r As Long, c As Long

    r = 1

    c = 7

    Dim wt As Worksheet

    Set wt = ThisWorkbook.Worksheets(1)

    wt.Rows(r + 1 & ":1048576").ClearContents

    Application.ScreenUpdating = False

    Dim FileName As String, sht As Worksheet, wb As Workbook, WbN As String

    Dim Erow As Long, fn As String, arr As Variant, Num As Long

    FileName = Dir(ThisWorkbook.Path & "*.xlsx")

    Num = 0

    Do While FileName <>""

    If FileName <> ThisWorkbook.Name Then

    Erow = wt.Range("A1").CurrentRegion.Rows.Count + 1

    fn = ThisWorkbook.Path & "" & FileName

    Set wb = GetObject(fn)

    Set sht = wb.Worksheets(1)

    Num = Num + 1

    arr = sht.Range(sht.Cells(r + 1, "A"), sht.Cells(1048576, "B").End(xlUp).Offset(0, 7))

    wt.Cells(Erow, "A").Resize(UBound(arr, 1), UBound(arr, 2)) = arr

    WbN = WbN & Chr(13) & wb.Name

    wb.Close False

    End If

    FileName = Dir

    Loop

    Application.ScreenUpdating = True

    MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"

    End Sub

    温馨提醒(针对情况三):

    把以上代码,复制到Thisworkbook代码窗口中(即:按【Alt+F11】组合键,打开VBE编辑环境),然后点击【运行】命令,就可以快速实现上述功能了;

    需要合并的工作簿和存储汇总数据的活动工作簿,二者需要在同一文件夹下;

    本案例,假定工作表总列数为7。需要更改列数时,只需更改代码中对应的参数设置。

    点击【运行】命令后,会弹出如下对话框(仅举例说明):

    最后,点击【OK】,即可。

    鸣谢:谢谢大家的阅读!有问题,欢迎提问!!

  • ?

    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代码来实现这个,有时候就是那么一瞬间的错过,你就不会再遇到啦!

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

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

    附上VBA源代码

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

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

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

  • ?

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

    亨特斯顿

    展开

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

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

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

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

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

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

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

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

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

  • ?

    如何将多个Excel文件合并成一个且保留原有数据?

    阮若剑

    展开

     如何将多个Excel文件合并成一个且保留原有数据?事实上,我们可以借用Excel宏命令来处理该操作,并且保留原有数据,建立多个Sheet页,具体操作请看下文多个Excel文件合并成一个的方法。

      如何将多个Excel文件合并成一个且保留原有数据?

      1、将需合并的Excel文件放在同一个文件夹中,并这个文件中新建一个Excel文件。

      2、打开新建的Excel文件,按 Alt + F11 键,打开宏,选择视图→代码窗口。

      3、将下面的代码拷贝进去:

    Sub sheets2one() '定义对话框变量 Dim cc As FileDialog Set cc = Application.FileDialog(msoFileDialogFilePicker) Dim newwork As Workbook Set newwork = Workbooks.Add With cc If .Show = -1 Then Dim vrtSelectedItem As Variant Dim i As Integer i = 1 For Each vrtSelectedItem In .SelectedItems Dim tempwb As Workbook Set tempwb = Workbooks.Open(vrtSelectedItem) tempwb.Worksheets(1).Copy Before:=newwork.Worksheets(i) newwork.Worksheets(i).Name = VBA.Replace(tempwb.Name, ".xls", "") tempwb.Close SaveChanges:=False i = i + 1 Next vrtSelectedItem End If End With Set cc = Nothing End Sub

      4、点击运行选项运行宏命令。

      5、之后弹出选择对话框,选择要批量合并的Excel名,确定即可。

      6、程序运行完毕后,会自动生成一个工作簿,工作簿内包含所有需合并的Excel文件,将工作簿另存为即可。

      以上步骤便是,合并后的Excel文档会献出多个Sheet页,我们可以很方便的切换了解。

  • ?

    WPS Excel: 如何合并多个Excel文件

    万恶

    展开

    合并多个表格文件,Excel中可以使用power query,WPS中可以使用数据透视表来完成,两者各有优缺点。

    例如,有下面3个表格,表格的标题行中有部分内容相同。怎样合并这样的3个文件呢?

    步骤1:将这3个文件存放到同一个文件夹下(很重要),随意打开一个文件(例如01.xlsx),再新建一个空白表格文件。

    步骤2:在空白表格文件中,插入数据透视表,选择“使用多重合并计算区域”——“选定区域”——“创建单页字段”——“下一步”。

    步骤3:用鼠标选取01.xlsx文件中所有的数据,点击“添加”,就会在“所有区域”看到该数据区域;接着一一选取其他文件区域。

    文件很多的话,这一步也是很麻烦的。可以使用BAT命令先将文件重命名成类似的名字,这样选取了第一个表格数据之后,后面的数据就不需要打开表格选取,而是直接修改文件名字。每个表格中的数据不同,在添加区域时,可以将区域设置的大一些,例如使用“$1:$4”(表示表格前4行)。

    步骤4:数据选取完毕,就可以点击“确认”键创建一个新的数据透视表,会看到如下的汇总结果。界面中部的数据就是各个文件中的原始数据。

    步骤5:还可以将筛选器下的“页1”拖到行字段下,这样我们就会看到界面左侧有“项1”、“项2”和“项3”,分别对应步骤3所添加的文件啦。

    步骤6:如果某个原始表格中的数据变更了,可以在汇总表格上右键一下,点击“刷新”,汇总表数据也会随之更新。

    和Excel的Power Query相比:

    1. Excel中操作更简单一些,不过也只有Excel2016以上的版本才支持。

    2. Excel的power query合并表格文件时,要求每个表格中的工作表名称相同,列数也必须相同,否则合并后数据会有遗漏或差错;使用数据透视表则没有这个限制。

    3. 如果表格中列标题相同、行标题不相同,使用Excel的power query则不能合并;使用数据透视表则可以合并。

    4. 原始数据更新时,两者都可以同步更新。

    5. 数据透视表合并原始数据的同时还能汇总数据。

    谢谢阅读,欢迎点赞、评论、关注和点击头像。

  • ?

    如何将多个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文档怎么合并》。

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

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

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