[转载]EXCEL动态图表的制作

原文地址:EXCEL动态图表的制作作者:mrexcel2008

近来比较流行DashBoard这个英文单词,大概的意思是企业数字仪表盘,也就是企业的各项绩效指标用动态图表的形式表现出来。许多商务智能软件,比如Hyperion,BO,都能制作企业数字仪表盘。

 

其实EXCEL也可以。而且不用动辄数十万的投入,即可享受制作企业数字仪表盘的乐趣。随后的博客里我将探讨这个问题。

 

先看一个图,这是我最近作的一个动态图表:

你可以把图表的数据放在第二个工作表里,然后可以选择以任意两列分别作为X轴和Y轴数据,绘制任意的连续数据点。

 

下图为"图表"工作表:

[转载]EXCEL动态图表的制作

 

下图为"原始数据"工作表:

[转载]EXCEL动态图表的制作

 

动态图表所涉及的动态命名区域如下:

[转载]EXCEL动态图表的制作

---------------------------------------------------------------------------------------------

X轴值:

=OFFSET(

        原始数据!$A$1,

        绘图起点行号,

        MATCH(X轴数据所在的列,列标题,0)-1,

        数据点的个数,1

        )

---------------------------------------------------------------------------------------------

X轴数据所在的列:

=图表!$C$2

---------------------------------------------------------------------------------------------

Y轴值:

=OFFSET(

        原始数据!$A$1,

        绘图起点行号,MATCH(Y轴数据所在的列,列标题,0)-1,

        数据点的个数,1

        )

---------------------------------------------------------------------------------------------

Y轴数据所在的列:

=图表!$C$3

---------------------------------------------------------------------------------------------

列标题:

=OFFSET(

        原始数据!$A$1,

        0,0,

        1,COUNTA(原始数据!$1:$1)

        )

---------------------------------------------------------------------------------------------

数据点的个数:

=图表!$C$5

---------------------------------------------------------------------------------------------

最多数据点:

=COUNTA(原始数据!$A:$A)-绘图起点行号

---------------------------------------------------------------------------------------------

最大行号:

=COUNTA(原始数据!$A:$A)

---------------------------------------------------------------------------------------------

系列名:

=OFFSET(

        原始数据!$A$1,

        0,MATCH(X轴数据所在的列,列标题,0)-1,

        1,1)

   &

   "--"

   &

  OFFSET(

         原始数据!$A$1,0,

         MATCH(Y轴数据所在的列,列标题,0)-1,

         1,1

         )

---------------------------------------------------------------------------------------------

绘图起点行号:

=图表!$C$4

---------------------------------------------------------------------------------------------

图表系列公式:

=SERIES(

       动态图表实例.xls!系列名,

       动态图表实例.xls!X轴值,

       动态图表实例.xls!Y轴值,

       1

       )

---------------------------------------------------------------------------------------------

最后的动态效果如下(点击下图,会在一个新的浏览器窗口显示该图,在新的浏览器窗口再次点击图片,则会看到动态效果图,够麻烦的!!):

[转载]EXCEL动态图表的制作