昨天兰色分享了静态时间轴的做法,未尾放了一个动态大事件时间轴演示动画
下面,兰色就分享一下它的做法。
在Excel中,制作动态图表有固定的套路:
- 1、插入一个控件关联单元格,可以用组合框、选择按钮或滚动条4
- 2、有一个动态的区域,可以放在工作表中,也可以用定义名称。(前者易理解适合新手使用,后者图表高手必备技能)
听上去好复杂啊,其实看了下面的步骤并不难做
操作步骤:
一、插入滚动条
开发工具 – 插入 – ActiveX控件(不要从表单控件中选取) – 滚动条,点击后拖画出来。(显示开发工具的方法:07版点office按钮 – 选项 – 常用 – 显示开发工具,10版文件 – Excel选项- 自定义功能区 – 勾选开发工具)
二、让滚动条关联单元格
在滚动条的右键菜单中点击属性
在弹出的属性窗口是设置:
- linkedCell (链接的单元格):A8
- Max(最大值):11
- Min(最小值):1
注:因为Excel大事件表中共有16行数据,而动态区域有5行,所以最大值设置为 11(如果不理解,等看了后面的步骤就明白了)
设置完成后,点一下开发工具栏中的设计模式(关闭设计状态,控件才可以使用,需要编辑时再打开它),然后拖动滚动条,就可以看到A8单元格的数字在变化了。(滑条在最左端时A8值为1,拖动到最右端值为 11)
三、生成动态引用区域
根据控件产生的数字(A8单元格的值),用index函数即可从大事件表中动态取数。
=INDEX(大事件!B:B,$A$8+ROW(A1))
公式说明:
- index函数:可以根据指定的位置,从一个区域中提取数据。本例为根据A8的数字,从大事件表中提取事件。
- $A$8:由于所有值都是根据A8的取数,为了在复制公式时不发生变动,所以一定要绝对引用
- Row(A1) :提取单元格所在的行数,此处使用它是在向复制公式时Row(A1)变成Row( A2)、Row(A2)、Row(A3)…..目的是生成可以变动的数字1,2,3…..(在公式中直接+1,向下复制是不会变成2,3,4的,所以要用row函数)
为了方便理解,兰色把设置公式的整个过程录制成了动画:
本步骤设置完成后,再拖动控件,就可以看到AB列的数字随之变化了。
四、制作大事件时间轴
(方法和昨天完全相同,但为了方便日后查看方便和照顾新同学,这里再复制一次,看过的可以跳过此步)
1、添加辅助列
- C列全部输入0
- D输入正负交替的数字,数字大小要错开
2、插入散点图
选取BC列插入 – 图表 – 散点图
3、添加新系列
在图表上右键 – 选取数据 – 添加 :X轴选年份B列,Y轴数据选D列
4、添加误差线
选取图表 – 设计 – 添加图表元素 – 误差线 – 基于系列2 – 其他误差选项 :
- 方向 – 负误差
- 误差量:100%
最后选取上面的横线按delete删除。
5、添加文字
选取系列2 – 右键添加数据标签 – 分别选取标志(单独选中状态)逐个在编辑栏=引用B列的文字。(引用后数字变成对应的文字)
6、美化图表
去掉图表上多余的部分(选取Y轴、网格钱按delete删除),对标签和Y轴进行美化
五、调整位置
在设计模式下,把滚动条拖放到时间轴图表的上面(设置完成后再点击关闭设计模式)
六、另存文件
按F12另存为“Excel 启用宏的工作簿”文件格式
兰色说:通过动态时间轴,系统讲解了在Excel中怎么插入控件生成动态引用区域,这个方法也适用于做其他类型的动态图表,同学们一定要收藏起来备用。