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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

日常工作中,我们经常会遇到这种情况:当数据透视表制作好以后,突然发现,有遗漏的项目需要插入到数据源中;或者设计好的源数据表中,需要增设一个属性字段;或者有新发生的事项需要记录进源数据表中。这个时候,一般的做法,是回到数据透视表向导中,重新定义生成数据透视表的源数据表的区域,然后再刷新数据透视表。其实,还有一个办法可以解决这种问题,就是制作动态数据透视表。

制作动态数据透视表,有三种方法:列表法、定义名称法和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函数用于计算列表中非空值的单元格个数。

相关文档
最新文档