马上注册,结交更多财务经理人,享用更多功能,成就财务总监之路……
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
纯Excel图表制作高仿真仪表盘(guage/dashboard)
文/ExcelPro的图表博客
这是前一篇日志双饼图制作仪表盘的前身版本,格式化效果更加丰富、豪华。由于是前一做法的前身版本,文字略有雷同,请理解。
---------------------------------
一、什么是仪表盘
仪表盘(guage,speedometer,dial chart,dashboard),是模仿汽车速度表的一种图表,常用来反映预算完成率、收入增长率等比率性指标。它简单、直观,人人会看,是商业面板(Dashboard)最主要特征的图表类型。一看到仪表盘,就会使人体验到决策分析的商务感觉。
在《Excel图表之道》中曾介绍了一种模仿制作仪表盘的方法,其思路是使用饼图+图片填充的方式,需要从水晶易表等软件中抠出空表盘图片,填充到图表的绘图区作为背景。
这种方法虽然简单,但也有缺点,一是空表盘图片不易获得,二是表盘图片无法编辑,也就不方便自定义表盘样式。本文介绍一种完全使用Excel图表的实现方式,具有高度仿真、可灵活自定义表盘样式的特点。
二、作图思路
想象仪表盘的外圈、预警色带、刻度标签,都是一圈一圈的,因此我们可以使用环形图及其标签来制作,指针则使用一个透明饼图来模仿。
三、作图步骤
首先组织如下图的作图数据。
B列为刻度标签,是我们想显示在表盘刻度线边的数字,C~E列数据为用来模仿外观和定位标签的辅助数据,分别负责内圈标签、预警色带、外圈刻度线的位置。
一般仪表盘的指针范围从左下到右下,幅度是270度,10等分的话,就是10个27的数据,外加一个90度的数据,合计360度。为了让刻度标签正好显示在刻度线上,我们将0和27交叉组织,到时好利用0数据点的标签来显示刻度标签。而色带的数据,270度范围可以用一个数据覆盖,便于一次填充渐变颜色。也可以使用10个27和90,或实际需要的数值区间,这样可以分段设置预警色带。
1、使用C~E列的数据生成一个环形图,设置第一扇区起始角度位225度,也就是指标为0时指针的位置。设置内径大小为70%左右。
2、对图表进行一些格式化。
外圈序列用来模拟表盘的外框,使用白色框线,淡色填充。或黑色填充,随自己定义。
中圈序列用来模仿表盘的预警色带,270度那个大数据点使用红-绿渐变填充,其他数据点无框线、无填充色,隐藏。
内圈序列用来辅助显示刻度标签,先使用xy chartlabeler工具设置其数据标签显示为B列的数据,注意这时数据标签刚好与外圈刻度线对齐。然后设置内圈无框线、无填充色,隐藏。
这时一个空的仪表盘已经出现。
3、将J列的数据加入图表做饼图。
G7和H7分别是指标的名称和值,如营业收入,H9为目标值,则收入完成率=H7/H9,J7将其折算成270度为100%的角度数,J8用来模拟指针,J9用来占位。
我们将用J列的数据加入图表来制作一个饼图,以模拟仪表盘的指针。操作方法:复制J列->选中图表->选择性粘贴->新建序列,这时该序列是一个环形图,将其图表类型修改为饼图,设置饼图的第一扇区起始角度也为225度。
4、调整饼图的大小。
这时饼图盖住了之前的圆环图,不要紧,我们将要调整它的大小并设置其为透明。
饼图的大小将决定指针的长短。这里需要一点小操作技巧。
1)先选中整个饼图序列,按住鼠标往外拉,使饼图呈分离状,至合适大小。
2)再逐一选择单个扇区,按住鼠标往里拉,使饼图回复到聚拢状态。对于为0的那个扇区,为方便选中操作,可临时性将J8的数据修改为20,待操作完成后再修改回去。
完成后若半径长度不符合要求,可以反复重来直至饼图半径长度合适。若是Excel2007/2010,应可在其格式对话框中直接设置分离的百分比为20%。
5、格式化饼图模拟指针。
将饼图的J8扇区设置为红色边框,无填充色,其他扇区设置为无边框无填充色,隐藏。当把J8改回0时,该扇区正好像一个指针。
6、链接仪表盘显示值。
将内圈序列90度数据点的标签往上移,粗体,作为仪表盘的数字显示。注意,我们在数据组织时已将其数据连接为H7的输入指标。也可以在这时让其直接链接H7的数据。
设置外圈序列90度的数据点显示标签,并链接至G7的指标名称。若指标名称过长,数据标签易折行,可另使用文本框并链接至G7。
7、绘制一个圆圈,放在中心点,模仿指针的固定钮。
OK!至此我们已经完成了一个纯图表制作、高度仿真、且可以充分自定义样式的仪表盘。试着调整F7 的数值,可以看到仪表盘的指针将跳到相应位置。
四、仪表盘的个性化样式设置
由于本方法完全采用纯图表来制作仪表盘,具有非常强大的自定义样式能力,几乎所有元件都可以自定义格式。譬如:
1)可以对外框使用仿金属质感的填充效果,图。如果不告诉你,你相信这些图表是纯Excel制作的吗?
2)可以调整刻度线的密度,这由C列数据决定,如改为每块13.5来组织。
3)可以对预警色带使用绿-红渐变效果,以适用于高值不好的情况。
4)可以对预警色带使用分段填色效果,这只需要将中圈序列的数据源改到C列或E列即可。事实上,所有辅助数据均可只使用C列,重复粘贴即可。
5)可以对预警色带按指定数字区间填色,这只需要将中圈序列的数据源修改为相应的折算数值即可。
6)可以修改设定刻度标签为相应的数字或文本,这只需要修改B列的数据。
7)可以调整指针的长短和粗细,这在前面第三点的第4/5步调整饼图大小时控制。
8)可以调整外圈、预警色带、刻度标签的位置,这只需要调整圆环图的系列次序。
几乎你可以想到的样式效果,差不多都可以格式化出来。尤其是使用2007/2010版本时,格式化效果更加丰富,需要的只是你的创意和美感。(以下分别为尝试的简单风格、金属风格、钢板风格)
是不是很酷?据我所知,此方法为本博客首创,也是做法最简单、效果最逼真的仪表盘做法,值得得瑟一下,呵呵。
五、仪表盘的应用
怎样让这个仪表盘图表可以方便地应用到其他报告中呢?
为方便后续应用仪表盘图表,我们将C~E列辅助数据转换为静态数组。方法:选择某个序列的图形,鼠标定位到公式栏,按F9键,此时该序列公式即变化为一组静态数据。以预警色带的数据源为例:
=SERIES(Sheet1!$D$6,,Sheet1!$C$7C$29,2) ----》转换为了:
=SERIES("预警色带",{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23},{270,18,54,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},2)
依次对中圈、内圈序列作同样处理。这样图表将不再依赖于C~D列的数据了。
在需要创建新的仪表盘时,前面所有的步骤都不需要了。我们只需要复制这个图表到自己的工作表中,并将图表中饼图序列的数据源调整为相应的数据源即可。下图是一个简单的应用例子,其中使用了多个仪表盘图表,请注意表盘1,查看其数据供应情况。
本例涉及知识点:
1)构图思路与数据组织
2)组合图表类型制作
3)向图表追加数据序列,调整图表类型
4)调整组合图表中饼图的大小
5)散点图标签工具xy chart lableler的使用
6)数据序列公式转静态数组
制作难度:★★★★
实用性:★★★★
文件下载:新浪资料审核中。。。下载
网友raulerini据此思路写了一段宏代码,可以一键生成仪表盘图表,谢谢分享!下载vba版。
[此贴子已经被作者于2011-6-12 20:22:42编辑过] |