中企动力 > 商学院 > 不同工作表数据汇总
  • ?

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

    全问萍

    展开

    转载自百家号作者: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多工作表汇总,这个功能让你快速达成

    远侵

    展开

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

    合并计算在哪?

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

    1、标题一致的多表汇总

    分表如下:

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

    最终完成效果如下:

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

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

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

  • ?

    Excel超高效汇总表格,看这篇就够了

    温晓瑶

    展开

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

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

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

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

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

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

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

    没更改前:

    更改后为:

    设置ok!

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

    以城市+产品汇总

    以产品+城市汇总

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

  • ?

    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引用不同工作表数据,高效工作不加班-海生PPT

    青亦

    展开

    海生PPT

    耐心、方法、目标、效率、只为帮助你!

    普通员工追求完成工作任务

    优秀员工追求高效工作

    卓越员工追求方法技能

    混迹职场

    避免不了与数据打交道

    因此

    也就不得不使用Excel

    然而

    大多数伙伴使用Excel最常用的方法便是

    “加 减 乘 除”

    或者

    “复制 粘贴”

    比如

    点击A表,找到想要提取的数据,右键-复制(CTRL+C),再点击B表,找到相应的单元格,右键-粘贴(CTRL+V)。

    如此操作也没错

    但是效率大大降低

    关键是没掌握好的方法

    如果3个或者三个以上的表格

    也要如此操作吗

    所以告别加班

    告别“复制 粘贴”

    就从关注海生PPT掌握好的方法开始

    今天就给大家分享2个提高效率的方法

    引用不同工作表数据的

    1

    跨表引用

    在Excel公式中,可以引用其他工作表的数据参与运算

    假设

    要在"出行日期"表中直接引用"表妹1""表妹2""表妹3"的数据

    则公式为:=表妹1!B2

    (注:此公式没有添加判断条件,要准确引用相关数据,需要对各个“表妹”中知否赴约做判断。具体判断方法后面的文章中具体分享)

    这个公式中的跨表引用由工作表名称、半角叹号(1)目标单元格地址3部分组成

    除了直接手动输入公式外,还可以采用在工作表上直接“点选”的模式来快速生成引用,操作

    步骤如下

    Step1在出行日期表的单元格中输入公式开头的“=”号。

    Step2单击表妹1的工作表标签,切换到表妹1工作表,再选择B2单元格。

    Step3按回撤键结束。此时就会自动完成这个引用公式

    注意:

    如果跨表引用的工作表名称是以数字开头,或者包含空格及以下非字母字符

    则公式中的引用工作表名称需要用一对半角单引号包含。例如:=`2月`!C3

    2

    跨工作簿引用

    在Excel公式中,还可以引用其他工作簿中的数据.

    假设

    在"约会记录“要引用工作簿"开房记录"的数据明细工作表的B3单元格

    如果当前Exce工作窗口中同时打开了被引用工作簿,也可以采用前面所说的直接点选方式自动产生引用公式。如果被引用的工作簿当前没有被打开,引用公式中被引用工作簿的名称需要包含完整的文件路经

    如公式:

    =`D:\工作目录[海生的开房记录.xlsx]数据明细!$B$2

    请留意其中的半角单引号的使用

    方法需要多次练习才能掌握

    祝你每天进步一点点

    不变是更加痛苦的

    一份耕耘l一份收货

    好知识 乐分享

    -----------商务PPT定制呈现找海生------------

    转发分享你会更美

    心事留言,小编答你

  • ?

    Excel如何引用同一工作薄里不同工作表的数据,并自动变化?

    Jason

    展开

    比如工作表1中建有一个班的学生不同科目的成绩,工作表2中建有学生通知书,上面有学生的成绩,评语,假期作业等内容,工作表2中如何引用工作表1的姓名,成绩等内容,并且工作表2的数据随工作表1的变化而变化?期待高招,谢谢!

    回答这个问题,首先要理清下思路。

    最少建立两张表格,第一张是源数据表,是学生的成绩表,第二张是报表,就是呈现给别人看的表。最好还应该有一张,是学生的基础信息表。因为学生重名的可能性较多,如果用学生的姓名作为唯一条件,是不合适的。但是如果是学校给的学号,就是不重复的数据,可以作为查询的条件。

    基础信息表,长这样:

    学生成绩表,长这样:

    家长通知书是这样的:

    通过输入学号,或者点击下拉三角选择学号,都可以实现对学生姓名和成绩的查询。作业内容和教师寄语,如果提前写好了也可以设置公式查询,没有的话,就可以打字打上去。

    主要公式:

    查询姓名用公式:

    =VLOOKUP(H2,学生成绩表!B2:C5,2,0)

    查询成绩用公式:

    =SUMIFS(学生成绩表!$E$2:$E$13,学生成绩表!$B$2:$B$13,学生通知书!$H$2,学生成绩表!$D$2:$D$13,学生通知书!C5)

    注意公式需要右拉,引用方式的变化。

    右边学号是作为查询条件的,设置了数据有效性,点击下拉三角可以选择不同的学号。

    具体看演示:

    需要源文件的,可以关注并私信我。

  • ?

    如何将Excel表格里几张表格数据汇总到一张上面?

    夜未央

    展开

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

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

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

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

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

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

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

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

    9.完成汇总效果如下。

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

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

  • ?

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

    温柔

    展开

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

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

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

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

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

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

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

    附上VBA源代码

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

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

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

  • ?

    Excel | SUM、SUMIF+INDIRECT——求和项排序相同与不同的多工作表数据汇总

    优雅

    展开

    问题情景

    很多电商、工资等数据统计的时候都会遇到这样的问题:数据以不同的部门,或者不同的月份,也或不同的年份等情况分布在不同的工作表里,经常要求对分表根据相同数据项对数据进行汇总统计。

    示例数据如下图:

    共12月的数据,无需合并,直接汇总到“汇总”工作表“年销售业绩”列中。

    注意:各分表的结构一致,姓名都在B列,求和的数据都在C列。

    关键操作第一种情况:所有表“姓名”排序一致

    这种求和方法很简单,只要在“汇总”表C2单元格输入公式“=SUM('*'!C2)”就可以了,回车以后,公式自动变成:=SUM('1月:12月'!C2)。

    第二种情况:所有表“姓名”排序不一致

    这种情况下求和稍有麻烦,我们一步一步分析:

    第一步:

    如果是仅对一个表,只需要Sumif函数直接求和即可,比如:

    =SUMIF('1月'!$B$2:$B$37,汇总!B2,'1月'!$C$2:$C$37);

    第二步:

    现在是对12个表汇总,需借助INDIRECT函数生成对多个表区域的引用,即是:

    INDIRECT(ROW($1:$12)&"月!$B$2:$B$37")--引用每个表的B列姓名数据区域

    以及

    INDIRECT(ROW($1:$12)&"月!$C$2:$C$37")--引用每个表的C列销量数据区域。

    第三步:

    写入Sumif函数,即是:

    SUMIF(INDIRECT(ROW($1:$12)&"月!$B$2:$B$37"),汇总!B2,INDIRECT(ROW($1:$12)&"月!$c$2:$c$37"))

    第四步:

    INDIRECT函数引用的是一组数,数组求和,最后最外层加Sumproduct函数,即是:

    =SUMPRODUCT(SUMIF(INDIRECT(ROW($1:$12)&"月!$B$2:$B$37"),汇总!B2,INDIRECT(ROW($1:$12)&"月!$c$2:$c$37")))。

    结果如下:

    另:

    本例使用INDIRECT函数产生多维引用,其中:

    使用ROW($1:$12)产生月份序号数组:

    {1;2;3;4;5;6;7;8;9;10;11;12}

    公式中的INDIRECT(ROW($1:$12)&"月!$B$2:$B$37")作为SUMIF函数的range参数,表示每个月销售记录表的$B$2:$B$37区域,共12个区域:

    {"1月!$B$2:$B$37";"2月!$B$2:$B$37";"3月!$B$2:$B$37";"4月!$B$2:$B$37";"5月!$B$2:$B$37";"6月!$B$2:$B$37";"7月!$B$2:$B$37";"8月!$B$2:$B$37";"9月!$B$2:$B$37";"10月!$B$2:$B$37";"11月!$B$2:$B$37";"12月!$B$2:$B$37"}

    同理,公式中的INDIRECT(ROW($1:$12)&"月!$c$2:$c$37")表示每个月销售记录表的$c$2:$c$37区域,作为SUMIF函数的sum_range参数。

  • ?

    不同条件下工作表多表汇总数据方法,你真的值得一看

    缅怀

    展开

    我们平时都碰到过对各类的数据进行汇总,那么接下来小编将为你讲解在各种情况下,如何对多个工作表的数据进行汇总。

    ▼场景1:当分工作表首行首列条件、及位置都统一时候

    将1月-3月人员销售额,汇总到汇总表中(如下图):

    操作方法:

    1、在你要汇总的表格当中,点击数据—合并计算;

    2、引用位置分别引用1月至3月你要汇总的数据区域并进行添加;

    3、将标签位置选择首行和左列对齐。

    ▼场景2:当分工作表首行首列条件固定时

    将1月-3月每个月每人各种商品编码进行销售额进行求和,操作效果如下:

    因为分工作表中相似的每行每列固定的都是一个人的数据,所以可以用通配符*,来对所有工作表求和。公式为:sum('*'!B2)

    ▼场景3:当分工作表首行首列条件不固定,位置会有不同的时候

    如下图中分工作表人员可能会有不一致的情况下:

    操作方法同场景1,演示如下:

    以上就是各种条件下如何对多工作表数据进行汇总,快试一下吧。

    另外在合并计算当中除了数据求和,还有其他包括:平均、计算、最大最小值等数据运算,是不是很方便呀~

不同工作表数据汇总

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

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

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP