Excel数据透视表的数据源一般都是单个数据表格,如果数据源是存在不同工作表的多个数据表格,该如何创建数据透视表呢?
当然,我们可以先手工把多个数据表格合并为一个数据表格,然后再插入数据透视表。但实际上系统已经提供了解决方案,数据源为多个数据表格的数据透视表,可以称为多重合并数据透视表,今天介绍两种创建多重合并数据透视表的方法。
方法一:利用数据透视表和数据透视图向导
Excel2007的功能区没有“数据透视表和数据透视图向导”按钮,需要依次按下组合键ALT+D+P打开“数据透视表和数据透视图向导”对话框。
你也可以将“数据透视表和数据透视图向导”按钮添加在“快速访问工具栏”方便以后调用。步骤如下:
点击“快速访问工具栏”右侧的向下小三角,在弹出的菜单中点击“其他命令”。
弹出“Excel选项”对话框,在“从下列位置选择命令”处选择“不在功能区中的命令”,然后从列表框中选择“数据透视表和数据透视图向导”,点击旁边的“添加”按钮,确定之后即可将该功能添加在快速访问工具栏。
利用“数据透视表和数据透视图向导”创建多重合并数据透视表分三步:
步骤1:选择“多重合并计算数据区域”和“数据透视表”单选框。
步骤2a:选择“创建单页字段”,则数据透视表中没有不同的分页字段;此处,我们选择“自定义页字段”,这样,数据透视表中会多一个对数据进行分析的字段。
步骤2b:如果前一步选择的是“创建单页字段”,在此步骤直接选择数据区域就可以了。因为我们前一步选择的是“自定义页字段”,可以在此步骤给不同数据区域也就是“页”赋一个字段名称。
在“选定区域”选择工作表“1月”的数据区域,然后点击“添加”按钮,将数据区域的地址添加进“所有区域”列表框。
在“指定*页字段数目”处选择数字“1”单选框,然后在“字段1”处键入“1月”。
同样方法“添加”2月和3月的数据区域,并在相应的“字段1”处键入“2月”和“3月”。
这样,数据区域都添加至“所有区域”列表框。
步骤3:选择“新建工作表”。
点击“完成”,便在新工作表自动创建了一个数据透视表。
我们在列标签中取消“品名”的显示;
值字段的汇总方式改为求和。
将“页1”拖至列标签,调整后的数据透视表如下:
细心的同学可能会发现行标签和列标签的字段都是固定的,不能任意切换,“品名”应该是行标签,但被归入了“列标签”,因此无法正确使用。这正是使用这种方法创建数据透视表的局限,它只能识别数据区域的第一列为行标签,其余列均为列标签。
方法2:通过“OLE DB”创建
“OLE ”是对象链接和嵌入的意思,“DB”是数据库的意思,合起来就是数据库接口的意思,即读写数据库的功能。
利用这种方法创建的多重合并数据透视表将不会有固定行标签和列标签的限制,最大限度发挥数据透视表的功能。具体步骤如下:
首先,“插入”一个数据透视表,弹出“创建数据透视表”对话框,选择“使用外部数据源”单选框。
然后点击“使用外部数据源”下的“选择连接”按钮,弹出“现有连接”对话框,我们需要新建连接,所以不在列表框中选择,而是点击下方的“浏览更多”按钮。
弹出“选择数据源”对话框,找到目标文件,即存放数据表格的文件,然后点击下方的“打开”按钮。
弹出“选择表格”对话框,任选一个表格确定。
返回到“创建数据透视表”对话框,“选择连接”按钮下出现了一个连接名称。选择“新工作表”单选框,然后确定。
即创建了一个新的数据透视表,但是这个透视表的数据是不完整的,因为刚才在“选择表格”时只选择了工作表“1月”。继续!
光标放在数据透视表上,点击“选项”选项卡,点击“更改数据源”,在弹出的菜单中点击“连接属性”。
在“连接属性”对话框选择“定义”标签页,在“命令文本”中键入
“select "1月",* from [1月$] union all
select "2月",* from [2月$] union all
select "3月",* from [3月$] ”
这是一段SQL语言,"1月"等将会作为字段的值出现在创建的数据透视表中;“*”代表数据区域的所有字段,如果不需要所有字段,可以直接键入字段名,然后用“,”隔开;[1月$] 等表示工作表名;英文单词即本身的含义。
“确定”之后,返回到创建的数据透视表,会发现多出一个字段“Expr1000”,即月份标签。
字段可以在不同区域任意切换,不再受行标签和列标签限制。
两种创建多重合并数据透视表的方法学会了吗?
联系客服