写这篇文章是因为需要做一个店铺的数据分析,需要对比这个月与上个月的同期数据,可以是柱形图和折线图(可以看整个月的每日情况)。而我的做表格的思路是

把数据做成表格,然后以图表的形式列出,辅以组合框(窗体控件)按钮,只需选择所需要到的表格数据进行对比即可。

 先整理好表格A,然后利用index函数,设立另外实时动态表格B,图表的数据则全部由动态表格B提供,图表的选项按钮则链接到原表格A以及表格B共用一个空位,进行链接

我说的头都大了

1.把表格全改为横向,比如,你原本的日期都是从上到下,1-30按照顺序排列,现在则需要从左到右排序,按1-30顺序排列,对应的数据也一起换为横排。

号数

1月免费流量

2月免费流量

1月付费流量

2月付费流量

1

25

8

41

10

2

50

24

32

14

3

58

7

47

12

4

82

23

40

15

换成下列A表格

号数

1

2

3

4

1月免费流量

25

50

58

82

2月免费流量

8

24

7

23

1月付费流量

41

32

47

40

2月付费流量

10

14

12

15

2.在表格下部分空出一行,然后再输入上述表格的第一行

号数

1

2

3

4

3.因上述表格中有两组不同的选项,即免费流量和付费流量,所以则分为两组,号数相同,所以不需要分组

号数

1

2

3

4

     
     

4.第一排第一个空位则需要到INDEX函数,具体代码为

=INDEX(A2:A5,$A$6)

上述代码的意思是:需要A2开始到A5的数据(也就是竖着第一排的流量名称),并且指定$A$6的位置(要空位,而且这个位置等下要与控件按钮公用,这就是为什么上面要空出一行的缘故)

号数

1

2

3

4

1月免费流量

25

50

58

82

1月付费流量

41

32

47

40

5.输入代码后,直接填充到表格右侧,这时候,动态表格的数据是与原数据表格是一样的.第二行如法炮制,但代码则需要有一定变动。

=INDEX(A2:A5,$B$6)

因为动态表格B每一行的数据都会对应一个空位(链接位),比如:1月免费流量对应链接位1A6),1月付费流量对应链接位2B6)

链接位1

链接位2

   

号数

1

2

3

4

1月免费流量

25

50

58

82

1月付费流量

41

32

47

40

6.选择动态表格B,然后点击Excel2010上部的"插入"-"折线图"(图表类型随你选择)

 

7.点击Excel2010上部的"开发工具"-"插入"-"表单控件"-"组合框"

右键拖动鼠标,画出两个长方形的按钮出来,成为按钮A和按钮B(按钮大小和形状不限制,为了美观一点,还是做成一般按钮的形状)

PS:按钮与动态表格没太大关系,只有间接关系。按钮A对应链接位1,按钮B对应链接位2

 

8.右键点击按钮A,点击"设置控件格式"-"控制",有数据源区域,单元格链接,下拉显示项数,三维阴影

数据源区域:和上述index代码一样,选择原数据的竖着第一排的流量名称($A$2:$A$5

单元格链接:选择链接位1$A$6

下拉显示项数:有多少个选项你就写多少个

三维阴影:为了美化可以勾选

再设置按钮B,除了单元格链接不一样,其他全部一样。

 

9.右键点击按钮,然后点"叠放次序"-"置于顶层"再拖拽到图表中就行了。

 

然后,大功告成。

 

你可以在在这两个按钮中选择自己需要的数据,在图表中进行对比。

 

FAQ1.动态表格出现#VALUE

答:一个是因为你的数据源没有选对,再有一个是链接位没有选择好,情况多常见于双个或者多个选项进行数据对比的时候代码搞错。

2.为什么有的教程说需要图表和按钮进行组合?

我刚才测试了一下,组合与不组合,图表都可以正常显示数据,如果是处女座,你可以进行组合

3.为什么不上图?

一是因为懒,第二是这个博文是写了给自己看的,免得忘记,没打算说做一个通俗易懂的

4.这个方法适用于什么Excel版本?

2010是肯定可以用的,2013/2007/2003没测试过,另外WPS也没测试过。