Excel折线图,想必大家都不陌生。 在工作中做工作汇报、工作总结等时,我们或多或少会用折线图来反映一定时期内销售或运营数据的变化。 不过,可能大部分朋友只知道静态折线图的制作。 不知道折线图也可以是动态的。

今天要分享的是如何制作动态折线图。

我们要说的动态折线图:其实就是通过拖动滚动条来控制折线图上数据点的位置,查看折线图的图表数据。

效果图:

具体步骤:

1.插入滚动条控件

1、点击菜单【开发工具】-【插入】-【滚动条(窗体控件)】,拖动鼠标,在表格中拖出一个滚动条;

excel vba滚动抽奖_excel滚动条不见了_侧面导航条随页面滚动

2、选中滚动条,右击-【设置控件格式】,在弹出的【设置控件格式】对话框中,选择【控件】,设置最小值为1,最大值为10; 为单元格链接选择任意一个空白单元格,在此示例中选择单元格 A5; 其他选项可以默认。

说明:最小值设置为1,最大值为10,因为表中的数据是2009年到2018年,一共10年。

侧面导航条随页面滚动_excel vba滚动抽奖_excel滚动条不见了

运行动态图:

2.设置公式

在单元格 B4 中输入以下公式:

=IF(指数($B$3:$K$3,$A$5)=B3,B3,NA()),

然后公式将填充右侧的剩余单元格。

配方说明:

索引函数的语法:

=index(面积,行号/列号)

If 函数的语法:

=IF(测试条件,结果1,结果2)

单元格 A5 中显示的数字由滚动条控制。 当滚动条在初始位置时,A5单元格会显示1,滚动滚动条一次,即增加一个位置,A5单元格会显示2,以此类推,当滚动条滚动到末尾时,单元格 A5 显示 10。

所以这个例子中的公式:

=IF(指数($B$3:$K$3,$A$5)=B3,B3,NA()),

先用index函数提取B3:K3区域指定位置的值,由A5单元格的值决定;

然后用if函数判断index函数返回的值是否等于B3,等于B3则返回B3excel滚动条不见了,否则返回NA()。

不适用()

NA()=#N/A,表示取不到有效值;

由于在图表中,空值会显示0; 所以我们改用#N/A 错误值,这样它就不会显示在图表中。

运行动态图:

3.插入折线图

1、选中单元格数据区,即A2:K4单元格,点击菜单中的【插入】-【折线图】;

2、选中折线图,右击-【更改系列图表类型】,在弹出的【更改图表类型】对话框中选择【所有图表】-【组合】,系列1选择【线性图表】,并选择 [With Line chart with data markers]。

excel滚动条不见了_excel vba滚动抽奖_侧面导航条随页面滚动

运行动态图:

4.在折线图上设置数据点格式

选中折线图上的点excel滚动条不见了,右键-【设置数据点格式】,在弹出的【设置数据点格式】对话框中,选择【填充线】-【标记】-【数据标记选项】-【内置-in],设置点的类型和大小。

excel vba滚动抽奖_侧面导航条随页面滚动_excel滚动条不见了

运行动态图:

5.将滚动条拖到折线图上方

右击滚动条-【层叠顺序】-【置顶】,然后用鼠标拖动滚动条放置在图表上。

excel vba滚动抽奖_excel滚动条不见了_侧面导航条随页面滚动

运行动态图: