大隐于市---随选项按钮更改图表类型的动态图表

标签:
excel动态图 |
分类: EXCEL图表 |
昨天论坛上有人询问一个动态图表的制作方法,一句话两句话也说不清楚,于是写篇博文出来,便于大家共同学习。动态图表如下:

此动态图表看似机关重重,却并没有超高难度的设计,只要找到“气眼”,迷雾瞬间驱散,
它的“气眼”是什么呢?我们看到的是一个图变来变去,实际上,它是两个图,一个折线图,一个柱形图。随着选择按钮的不同,一个显示,一个不显示而已。而在EXCEL图表里,零值图表可以设置为不显示,这就是机关气眼。
STEP1:复制数据区域B1:E1,选择G1单元格-右键单击-选择性粘贴-转置,结果如图

STEP2:视图-工具栏-窗体,打开窗体工具栏,准备添加“选项按钮”和“组合框”窗体,如图

STEP3:点亮窗体工具栏的“选项按钮”工具,鼠标移动到任一单元格左上角,按住ALT键的同时,向下并向右拖拽,画出一个与单元格大小一致的“选项按钮”
同样的操作,点亮“组合框”,画一个“组合框”,如图

STEP4:关掉窗体工具栏,选择“选项按钮”窗体,右键单击-设置控件格式-控制-单元格链接-引用到$H$1,确定,如图

STEP5: 选择“选项按钮”窗体后,再次双击该窗体,进入窗体文字编辑状态,将文字改为“折线图”,

STEP5: 选择已做好修改的“选项按钮”窗体,再复制一份,将文字改为“柱形图”
STEP6:双击“组合框”,进入“设置控件格式”对话框,数据源区域-$G$1:$G$4,单元格链接-$H$2,下拉显示项数-4

这时已经将各窗体按钮设置好了,可以试试效果

现在开始准备图表数据
STEP7:插入-名称-定义-定义两个名称
Line=INDEX(($B$2:$E$8,$B$12:$E$18),,$H$2,$H$1)
Bar=INDEX(($B$12:$E$18,$B$2:$E$8),,$H$2,$H$1)

这两个名称只是将第一部分,一个联合区域($B$2:$E$8,$B$12:$E$18)进行了互换,当H1值为1时,公式挑选这个联合区域的第一个区域,当H1值为2时,挑选第二个区域。
因此,当H1为1时,名称line返回$B$2:$E$8区域的第N列(H2的值),而名称bar则返回$B$12:$E$18的第N列(H2的值),此区域是空白区域,值全为零,在图表上是不显示的。
当H1为2时,正好相反,line得到的是空白区域,值全为零,而bar得到的是$B$2:$E$8区域的第N列(H2的值)。
现在开始制图
STEP8:选择A1:B8-插入-图表-折线图-确定,插入一个折线图,并进行美化
将图表标题、图例、绘图区背景、主要网络线,一一选中,删除
数据系列格式-图案,设置为深红

将横坐标、纵坐标字符大小设置为10,坐标轴格式-图案,设置为灰度50%

STEP9:右键单击图表区域-源数据
将系列“上海”的“值”更改为=37.xls!line
将系列“上海”的“名称”更改为=“折线图”

STEP9:仍在源数据对话框,点击“添加”按钮,添加一个系列,“值”改为=37.xls!bar,名称设置为="柱形图",“分类轴标志”保留“=数据源!$A$2:$A$8”不变,确定

STEP10:点选“柱形图”选项按钮,使新添加的系列显示出来,如图

STEP11:在图表区右键单击-图表类型,将图表更改为柱形

设置数据系列格式,填充深蓝,无边框。
点选“折线图”按钮,如发现折线图也被更改为柱图,则更新设置图表类型为“折线图“即可,其他格式不会有所变化。
STEP12:选择绘图工具栏的“选择对象”按钮,将折线图、柱形图按钮和组合框窗体一并选中

依次点击绘图工具栏的“绘图-对齐或分布-底端对齐-绘图-组合”,并将组合后的图片叠放次序-置于顶层,拖入到图表合适位置

如果想让动态图表更神秘一些,可以利用绘图工具栏的“选择对象”工具,将选项按钮、组合框、图表一并选中,再进行一次组合。将组合后的图片,拖至G1单元格上,将G、H列数据盖住,不让别人看到,人家还以为是按钮直接操控图表呢。

此动态图表看似机关重重,却并没有超高难度的设计,只要找到“气眼”,迷雾瞬间驱散,
它的“气眼”是什么呢?我们看到的是一个图变来变去,实际上,它是两个图,一个折线图,一个柱形图。随着选择按钮的不同,一个显示,一个不显示而已。而在EXCEL图表里,零值图表可以设置为不显示,这就是机关气眼。
STEP1:复制数据区域B1:E1,选择G1单元格-右键单击-选择性粘贴-转置,结果如图

STEP2:视图-工具栏-窗体,打开窗体工具栏,准备添加“选项按钮”和“组合框”窗体,如图

STEP3:点亮窗体工具栏的“选项按钮”工具,鼠标移动到任一单元格左上角,按住ALT键的同时,向下并向右拖拽,画出一个与单元格大小一致的“选项按钮”
同样的操作,点亮“组合框”,画一个“组合框”,如图

STEP4:关掉窗体工具栏,选择“选项按钮”窗体,右键单击-设置控件格式-控制-单元格链接-引用到$H$1,确定,如图

STEP5: 选择“选项按钮”窗体后,再次双击该窗体,进入窗体文字编辑状态,将文字改为“折线图”,


STEP5: 选择已做好修改的“选项按钮”窗体,再复制一份,将文字改为“柱形图”
STEP6:双击“组合框”,进入“设置控件格式”对话框,数据源区域-$G$1:$G$4,单元格链接-$H$2,下拉显示项数-4

这时已经将各窗体按钮设置好了,可以试试效果

现在开始准备图表数据
STEP7:插入-名称-定义-定义两个名称
Line=INDEX(($B$2:$E$8,$B$12:$E$18),,$H$2,$H$1)
Bar=INDEX(($B$12:$E$18,$B$2:$E$8),,$H$2,$H$1)

这两个名称只是将第一部分,一个联合区域($B$2:$E$8,$B$12:$E$18)进行了互换,当H1值为1时,公式挑选这个联合区域的第一个区域,当H1值为2时,挑选第二个区域。
因此,当H1为1时,名称line返回$B$2:$E$8区域的第N列(H2的值),而名称bar则返回$B$12:$E$18的第N列(H2的值),此区域是空白区域,值全为零,在图表上是不显示的。
当H1为2时,正好相反,line得到的是空白区域,值全为零,而bar得到的是$B$2:$E$8区域的第N列(H2的值)。
现在开始制图
STEP8:选择A1:B8-插入-图表-折线图-确定,插入一个折线图,并进行美化
将图表标题、图例、绘图区背景、主要网络线,一一选中,删除
数据系列格式-图案,设置为深红

将横坐标、纵坐标字符大小设置为10,坐标轴格式-图案,设置为灰度50%

STEP9:右键单击图表区域-源数据
将系列“上海”的“值”更改为=37.xls!line
将系列“上海”的“名称”更改为=“折线图”

STEP9:仍在源数据对话框,点击“添加”按钮,添加一个系列,“值”改为=37.xls!bar,名称设置为="柱形图",“分类轴标志”保留“=数据源!$A$2:$A$8”不变,确定

STEP10:点选“柱形图”选项按钮,使新添加的系列显示出来,如图

STEP11:在图表区右键单击-图表类型,将图表更改为柱形

设置数据系列格式,填充深蓝,无边框。
点选“折线图”按钮,如发现折线图也被更改为柱图,则更新设置图表类型为“折线图“即可,其他格式不会有所变化。
STEP12:选择绘图工具栏的“选择对象”按钮,将折线图、柱形图按钮和组合框窗体一并选中

依次点击绘图工具栏的“绘图-对齐或分布-底端对齐-绘图-组合”,并将组合后的图片叠放次序-置于顶层,拖入到图表合适位置

如果想让动态图表更神秘一些,可以利用绘图工具栏的“选择对象”工具,将选项按钮、组合框、图表一并选中,再进行一次组合。将组合后的图片,拖至G1单元格上,将G、H列数据盖住,不让别人看到,人家还以为是按钮直接操控图表呢。
现在可以关闭绘图工具栏的“选择对象”工具,倒杯茶慢慢欣赏拔开迷雾、破除机关的快感了。
后一篇:乾坤逆转---数据倒序排列