封面
亲爱的小伙伴们,跟我学EXCEL系列福利来了,从初级一直到高级学习EXCEL系列文章,结合财务实际应用讲解,配合动图细节演示,通俗易懂,是一套比较系统的不可多见学习EXCEL的好文章。持续更新中!
本系列文章包括基础篇(包括技巧、函数)、进阶篇(主要是数据透视表)、高级篇(主要是Power Query)。
希望大家喜欢,欢迎提出宝贵意见和建议!
我们今天继续学习数据透视表。
三、EXCEL进阶篇-数据透视表06
10、数据透视表的使用---动态数据源
从前面的课件中我们了解到如果是普通的数据源表,在使用数据透视表的时候是静态数据透视表,数据源表在不增行不增列只是原有区域的数据有变动,数据透视表数据可以随之变动,除此以外,如果数据源有增行增列的情况下,数据透视表汇总数据是不会自动扩展汇总区域的,这样就导致我们如果有新增数据区域的情况下使用不是很方便,还得手动修改数据透视表汇总区域。
数据源增行增列也能自动更新就更好用了,那么我们有两种办法实现动态数据源。
(1)、函数法
其实我们在前面已经应用过类似的动态区域了,在讲解图表的时候我们就用过动态区域了, 在这里依然可以用函数加自定义区域的方式来实现动态数据源。
还是以“发票列表”为例。
第一步、我们利用OFFSET函数自定义建立一个区域,比如名称叫“表一”(名称自己根据需要创建就行,可以是汉字、数字、字母等等),引用位置粘贴公式“=OFFSET(发票列表!$A$1,,,COUNTA(发票列表!$A:$A),COUNTA(发票列表!$1:$1))”,这个区域就是一个动态的区域了,公式里的第一个参数“发票列表!$A$1”意思是以发票列表工作表里的$A$1为基准点,第二个参数向下移动0行,缺省,第三个参数向右移动0列,缺省,第四个参数引用区域的行数,用COUNTA(发票列表!$A:$A)统计实际的行数,第五个参数引用区域的列数,用COUNTA(发票列表!$1:$1)统计实际的列数。动图一。
动图一
完成后我们就会看到“名称管理器”里面有了一个名为“表一”的区域了。截图一。
截图一
第二步,创建数据透视表
我们创建数据透视表的时候直接使用“表一”这个名称就行了,“插入”--->“数据透视表”,弹出的对话框“表/区域”中直接输入“表一”,默认建立新工作表,创建后就是一个动态区域的数据透视表了。如果是直接用数据源的名称创建数据透视表,光标放不放在数据源上都没有关系。动图二。
动图二
我们来测试一下,还是增加一个“旬”字段。动图三。
动图三
把鼠标放置数据透视表上刷新一下,我会看到右侧字段列表区出现了“旬”字段,就可以正常使用了。动图四。
动图四
同样的,我们增加一行数据,比如增加价税合计0.12,我们刷新后面的数据透视表就会看到总额由3,335,511.08,变为了3,335,511.2,说明数据源自动扩展为新区域了。动图五。
动图五
(2)、超级表法
这个方法就简单了,就是将普通表转换为超级表,前面我们讲过超级表的一部分用法,在这里,超级表可以作为数据透视表动态数据源表,这个方法非常简单而且好用,容易上手,比函数法要方便,所以使用最广泛。当然,这个也要看个人习惯,如果不想用超级表或不太适合用超级表的情况下,函数法还是有一定的用武之地的。
好了,直接将数据源转化为超级表,这个操作就简单了。动图六。
动图六
这个地方要说一下,我们将数据源转换为超级表的时候,实际上系统已经将这个超级表自定义了一个名称,这里是“表1”,转化后创建数据透视表的时候,我们会看到创建对话框的“表/区域”已经自动使用了这个自定义的名称“表1”。
只要是这个工作簿内,如果想创建这个数据源的数据透视表都可以直接在“表/区域”输入“表一”,直接调用这个动态区域即可。不仅仅是数据透视表,包括函数都可以使用这个“表1”的动态区域。
比如=SUM(表1),因为sum可以忽略文本,将数字直接合计,就将区域内所有的数字合计了,只不过这样合计没有什么实际意义,但我们通过这个可以感受一下自定义名称的用法了。
打开名称管理器,可以对已经建立的自定义名称进行删除、修改等等操作,了解了自定义名称的原理,就能更好的理解了超级表、动态区域的概念,将这些知识融会贯通了,就更方便我们操作EXCEL了。
所以说,超级表在EXCEL中的应用真是随处可见啊,而且到了Power Query学习部分我们还会再次应用到超级表。在数据透视表中超级表是可用可不用,而在Power Query的区域操作中的原区域必须是超级表,这是后话了,到时候我们再说!