动态图表也称交互式图表,指图表的内容可以随用户的选择而变化,是图表分析中比较高级的形式。使用动态图表能够突出重点数据,避免被其他不需要的数据干扰,从而提高数据分析效率。一个好的动态图表,可以让人从大量的数据里快速找到问题所在。
动态图表的基本原理,主要是通过交互和函数调用,生成临时数据源,并使用临时数据源制作出图表,其本质是图表源数据的变化。
一般有两种方法来实现:辅助系列法和动态名称法。
方法一、辅助系列法
就是通过选择框选择目标数据,选择结果被记录下来,然后相应的数据被引用到辅助数据区域,再以该辅助区域的数据做图表,这样的图表就具有动态交互的能力了。
1、添加选择器
在菜单栏[开发工具]的[插入]命令中选择[列表框]控件,在单元格T16画出一个列表框。
用鼠标右键单击列表框,在弹出的快捷菜单单击[设置控件格式(F)],进入[设置对象格式]对话框,将[数据源区域]设置为统计类别所在的区域C9:C12,将[单元格链接]设置为存放选择结果的单元格C5,单击[确定]按钮。
这时,列表框的选择结果就以序号的方式反映在C5单元格了。如选择了“第一产业增加值”,则将其在数据区域的行数(第2行)填写到C5单元格。
2、提取内容到辅助数据区域
接下来就需要按C5单元格的选择结果,将数据源中对应行搬到第3行。实现这一步,有多种函数可以选择,如VLOOKUP、INDEX、OFFSET等函数,任选一种即可。
在C3单元格输入公式:=INDEX(C9:C12,$C$5),再将公式复制到数据区域D3:W3。
3、以辅助数据制作图表
选中数据区域C3:W3,在菜单栏[插入]选项卡的[图表]组,选择[带数据标记的折线图],插入折线图。这时默认的折线图中,X轴为数字1、2、3…没有显示年份。
用鼠标右键单击图表,在弹出的快捷菜单单击[选择数据],在[选择数据源]对话框的[水平(分类)轴标签]点击[编辑],在弹出的[轴标签]对话框,将[轴标签区域]设置为D8:W8,单击[确定]按钮。带时间轴的折线图就做好了。
最后来看看效果。在右下角的列表框选择“第二产业增加值”,就会按第二产业增加值的数据刷新折线图。
方法二、 动态名称法
相较于辅助系列法,定义名称的方法省去了辅助数据区域,直接用动态名称为图表提供数据源。
说明:本文中的Excel数据表名称为“动态图表2”。
1、添加选择器
在菜单栏[开发工具]的[插入]命令中选择[列表框]控件,在单元格T16画出一个列表框。
用鼠标右键单击列表框,在弹出的快捷菜单单击[设置控件格式(F)],进入[设置对象格式]对话框,将[数据源区域]设置为统计类别所在的区域C9:C12,将[单元格链接]设置为存放选择结果的单元格C5,单击[确定]按钮。
这时,列表框的选择结果就以序号的方式反映在C5单元格了。如选择了“第一产业增加值”,则将其在数据区域的行数(第2行)填写到C5单元格。
2、定义动态名称
一般使用OFFSET函数来定义动态名称,以指定的单元格为原点,根据偏移量参数返回一个单元格或单元格区域,并可以指定返回的行数或列数。
在菜单栏[公式]选项卡,点击[定义名称],弹出[新建名称]对话框。
在弹出的[新建名称]对话框,输入[名称]和[引用位置],分别定义三个动态名称类别、数据区域和年份。
3、插入图表
选中数据区域任意一行,在菜单栏[插入]选项卡,插入[带数据标记的折线图]。
4、更改图表数据源
将图表中的系列删除,再选中空白图表,在公式栏中输入系列公式:
=SERIES(动态图表2!类别,动态图表2!年份,动态图表2!数据区域,1)
再按键盘上的回车(Enter)键,则得到了由动态名称生成的折线图。
这时图表的源数据就由名称[类别]、[数据区域]、[年份]来控制了。当选择的类别改变,单元格C5的值也跟着改变,名称[类别]和[数据区域]所指向的区域也就发生了改变,则图表也跟随变化。
接下来看看效果,选择[第三产业增加值]后,则生成了对应的图表。
5、OFFSET公式说明
=OFFSET(原点,向下移动行数,向右移动列数,偏移后区域行数,偏移后区域列数)
原点:指偏移的起始参考位置
向下移动行数:指行方向的偏移量,正数向下,负数向上
向右移动列数:指列方向的偏移量,正数向右,负数向左
偏移后区域行数:为偏移后区域的高度(行数),可选项
偏移后区域列数:为偏移后区域的宽度(列数),可选项
评论 (0)