多语言展示
当前在线:1131今日阅读:4今日分享:26

跨工作薄相同结构相同结构销售数据工作表汇总

无论是根据需求汇总数据还是在汇总表中将数据堆积起来,当工作表存放于不同的工作薄时的情况下如果想将这些工作表汇总起来,最快捷和最简单的方法是利用导入外部数据加sql语句的方法实现,下面我将用一个实例来进行讲解,这里两次用到了导入外部数据结合sql语句方式进行数据汇总,第一次的汇总是将存放于不同工作薄中的数据表进行汇总到一个工作薄下的三张年度工作表,然后经过保存之后,将三张工作表中的数据再次通过导入外部数据结合sql语句汇总到一个工作表内,然后再通过数据透视表进行汇总。
工具/原料
1

电脑

2

excel

方法/步骤
1

下图中的三个工作薄中分别存放着2010、2011、2012年度各个月份的销售数据,每个年度有12个月份的工作表,总共36张工作表,现在需要将位于不同工作薄中的36张工作表汇总到一块。

2

观察每个月销售明细表的结构是相同的,每个工作表的左侧前两列均为文本,这两列文本在汇总中是必须要使用的,因此不能使用多重合并计算数据区域数据透视表进行汇总,如果每个工作表的左侧只有一列文本可以使用。如果使用函数进行汇总,一般需要满足所有的需要汇总的工作表存放在同一个工作薄中,但是这三年的36个工作表分别存放在三个不同的工作薄中,因此也不适合用函数进行汇总。

3

在这种情况下最合适的汇总方式是通过导入外部数据加sql语句的方法进行汇总,我们可以先将每一年的十二个月的销售数据表堆积在一起(堆积不是汇总,而是逐条将数据统一存放),分别堆积存放在2010、2011、2012为名称的工作表中,这三个工作表位于同一个工作薄,我们可以通过导入外部数据加sql语句的方式来进行操作。

4

首先新建一张工作薄,然后的工作是将位于不同工作薄中的三年的销售数据导入到同一张工作薄中的三个工作表中,在sheet1中点按菜单栏数据命令,在弹出的菜单中点按导入外部数据,在二级菜单中点按导入数据命令了,在弹出的选取数据源对话框中找到对应的工作薄,然后点按打开,在选取表格对话框中直接点按确定按钮。

5

在导入数据对话框中直接点按编辑查询按钮,此时会弹出编辑OLE DB查询,下面命令文本框中需要输入sql语言,为了方便编辑,可以新建一个记事本,在记事本中输入如下内容:select '1月' as 月份,* from [1月$] union allselect '2月' as 月份,* from [2月$] union all select '3月' as 月份,* from [3月$] union allselect '4月' as 月份,* from [4月$] union all select '5月' as 月份,* from [5月$] union all select '6月' as 月份,* from [6月$] union all select '7月' as 月份,* from [7月$] union all select '8月' as 月份,* from [8月$] union all select '9月' as 月份,* from [9月$] union all select '10月' as 月份,* from [10月$] union all select '11月' as 月份,* from [11月$] union allselect '12月' as 月份,* from [12月$]

6

然后将在记事本中编辑的内容复制到命令文本框中,然后点按确定,在弹出的刷新数据对话框中直接点按确定即可,然后界面会返回导入数据对话框,再次点按确定即可。

7

可以看到在sheet1中已经将2010年每个月的销售数据表中的数据堆积到了sheet1中,一共七百八十条数据,刚才输入的sql语句中的'1月' as 月份的作用是创建一个叫做月份的字段,然后将1月为月份字段赋值,记得这个值需要用单引号括起来,字段和字段之间需要用都好连接,*代表所有的字段数据信息。from [1月$]的意义是数据来自1月这张表,。union all的作用是链接其他表数据。

8

为sheet1更改工作表名为2010,然后用同样的方式将2011年及2012年数据导入到sheet2和sheet3中,并为其更改工作表名为2011、2012,然后将该工作薄保存一下。

9

然后在记事本中输入如下所示的一段sql语句,用上面的方法将这三年的数据通过导入外部数据的方法进行操作,到编辑OLE DB查询时,将记事本中刚才书写好的sql语句复制到命令文本框中,然后点按确定,此时会返回导入数据对话框,点选新建工作表,然后点按创建数据透视表,在弹出的数据透视表和数据透视图向导 3步骤之3中点选新建工作表,然后点按完成。

10

在数据透视表中先将车型拖动到行区域,然后将成本拖动到数据区域,然后将年度拖动到列区域,然后再讲收入和费用分别拖放到数据区域,此时就可以通过数据透视表汇总三年不同项目的数据了。

注意事项
1

SQL语句中每个字段间必须用逗号,SQL关键字不需要逗号间。

2

在使用记事本时可以将记事本设置为自动换行,这样通过调节记事本的边框,方便查询sql语句。

3

在书写sql语句时,到最胡没有需要链接的表的时候记得把最后一个union all 删除。

4

sql语句中在创建字段并为字段赋值时需要将只用单引号括起来。

推荐信息