当前位置:文档之家› 制作动态数据透视表的办法

制作动态数据透视表的办法

制作动态数据透视表的办法
日常工作中,我们经常会遇到这种情况:当数据透视表制作好以后,突然发现,有遗漏的项目需要插入到数据源中;或者设计好的源数据表中,需要增设一个属性字段;或者有新发生的事项需要记录进源数据表中。

这个时候,一般的做法,是回到数据透视表向导中,重新定义生成数据透视表的源数据表的区域,然后再刷新数据透视表。

其实,还有一个办法可以解决这种问题,就是制作动态数据透视表。

制作动态数据透视表,有三种方法:列表法、定义名称法和VBA 代码法。

由于VBA代码法需要了解VBA代码及编程,这里仅介绍列表法和定义名称法(以Excel2003版为例)。

一、列表法。

Excel的“列表”功能,带有自动扩展作用,巧用“列表”功能可以创建动态数据透视表。

方法为:
1、在源数据表中左键单击任一单元格,点击工具栏中“数据”—“列表”—“创建列表”,打开“创建列表”对话框。

2、单击“确定”,将当前的源数据表转换为Excel列表。

3、左键单击列表中任一单元格,点击工具栏中“数据”—“数据透视表和数据透视图”,在弹出的向导3步骤1对话框中选中“Microsoft Office Excel数据列表或数据库”,然后单击“完成”。

这样,完成的数据透视表具有了动态的特点,如果数据源中增加了新记录,只要刷新数据透视表,就可以包含新增的数据。

列表法的缺点:只对数据源中新增的行记录有效,如果新增了列字段,则无法识别和更新。

二、定义名称法。

定义一个名称来代替源数据表的单元格区域,辅之以函数和公式,可以创建动态数据透视表。

方法为:
1、在源数据表中按〈Ctrl+F3〉打开“定义名称”对话框,然后在“在当前工作薄中的名称”框中输入“dada“,在“引用位置”框中输入=OFFSET(源数据表!$A$1,,,COUNTA(源数据
表!$A:$A),COUNTA(源数据表!$1:$1)),单击“添加”。

2、单击源数据表中任一单元格,选择数据透视表工具栏中“数据透视表”—“数据透视表向导”。

3、在弹出的向导3步骤1对话框中选中“Microsoft Office Excel数据列表或数据库”,然后单击“下一步”。

4、在弹出的向导3步骤2对话框中的“选定区域”框中,输入定义的名称data,然后点击“完成”。

至此,动态数据透视表完成。

如果新增加了行记录,通过刷新数据透视表,可以包含新增的行记录;如果新增了列字段,则反映在“数据透视表字段列表”中,需要重新手动布局。

定义名称法要求源数据表中的首列与首行不包含空单元格。

公式释义:OFFSET函数通过指定的单元格或区域作为参照,以给定的偏移量和行列数得到新的数据区域。

COUNTA函数用于计算列表中非空值的单元格个数。

相关主题