很多人都不知道动态图表怎么制作,其实通过对Excel窗体控件的设置应用,可以轻松构造出动态图表。某家电脑用品店要统计五种产品(显示器、机箱、键盘、鼠标、整机)的每月销售情况并制成图表显示。按照通常的思路,我们要为五种产品分别设计图表显示,显得有些繁杂。其实更专业的办法是只用一个图表,由用户通过下拉列表来选择图表要显示的月份,图表自动发生相应的改变。
很多人都不知道动态图表怎么制作,其实通过对Excel窗体控件的设置应用,可以轻松构造出动态图表。某家电脑用品店要统计五种产品(显示器、机箱、键盘、鼠标、整机)的每月销售情况并制成图表显示。按照通常的思路,我们要为五种产品分别设计图表显示,显得有些繁杂。其实更专业的办法是只用一个图表,由用户通过下拉列表来选择图表要显示的月份,图表自动发生相应的改变。
数据的提取
这个过程主要是把这五种产品的某月的销售数据提取到工作表的另一个工作表中(当然也可以是当前工作表的另一个区域),以便创建图表。由于图表是基于提取出来的数据创建,而不是基于原始数据创建,我们将能够方便地切换提取五种产品的某月的销售数据,也就是切换用来绘制图表的数据。
在sheet2工作表的A3单元输入=sheet1!A3,然后拖动A1单元格的填充柄把它复制到A4:A7。我们将用sheet2工作表的A1单元的值来控制要提取的是五种商品哪个月的销售数据(也就是控制图表要描述的是哪一批数据)。现在,在A1单元输入1。在B2单元输入公式=OFFSET(sheet1!A2,0, $A$1),然后拖动B2单元格的填充柄再把它复制到B4:B7。
OFFSET函数的作用是提取数据,它以指定的单元为参照,偏移指定的行、列数,返回新的单元引用。在本例中OFFSET(sheet1!A2,0, $A$1)函数的意义就是:找到同一行且从A2(B2)偏移一列的单元,返回该单元的值(图1)。
图表的制作
这个过程主要是在sheet1工作表中以sheet2工作表中A2:B7的数据为基础创建一个标准的簇状柱形图。首先在sheet1中选中任意空白单元格,选择“插入→图表”菜单,选择的图表类型为“簇状柱形图”,点击“下一步”,然后在数据区域处点击红色箭头,选中sheet2工作表中A2:B7区域,再点击红色箭头将窗口还原,这时你就能预览到一个簇状柱形图,最后点击“完成”按钮,这时就会在sheet1中插入一个图表。检查一下,A2:B7和图表是否确实显示了五种商品1月份的销售数据;如果没有,检查你是否严格按照前面的操作步骤执行。把A1单元的内容改成2,检查A2:B7和图表都显示出了五种商品2月份的销售数据。
为图表添加下拉列表组合框
在sheet1工作表中选择菜单“视图→工具栏→窗体”(注意可不是选择“控件工具箱”),点击工具栏上的“组合框”按钮,再点击图表上方的空白位置,在图表上就添加了一个下拉组合框,我们可以拖动组合框来改变它的位置,还可以拖动它的控制点来改变它的大小(图2)。
右击这个组合框,选择“设置控件格式”,然后选择“控制”选项卡,把“单元格链接”设置为Sheet2!$A$1单元格。由于组合框控件的数据区域只能选择列区域,所以我们可以在sheet2中的一个空白列处(如D2到D7单元格)输入1~6月,然后设置组合框的数据区域为Sheet2!$D$2:$D$7,即sheet2工作表中的D2:D7区域。
点击一下图表上按钮之外的区域,然后你就可以点击下拉列表,根据当前选择的月份显示对应的图表了(图3)。