不论何种面积类图表类型,因为占位的关系,Excel处理图表中“0”值时均会如实绘制,同时面积类图表在处理空单元格时采用“以零值代替”。但这在饼图的处理上,有时会让人非常烦躁,因为零值的数据点标签和引导线并不会因为是“0”值,Excel就忽略它们的存在。事物往往具有两面性,图6.5-1就是一个利用饼图处理“0”值特点的典型案例。
图6.5-1 烦人的饼图“0”值
案例介绍
图6.5-1的案例是某公司营业部门月度销售业绩KPI的达标状况。该案例中达标得分:65%以下为差;65%~90%为良;90%以上为优。希望通过图表可以直观获得当前指标得分落在了那个区间范围。
根据上述内容:由于仅仅是单个指标的图表,考虑到直观性,此处使用仪表盘来实现。仪表盘为圆形结构,结合Excel的极坐标图表,最佳的选择是使用饼图,因为饼形图可以有效利用扇区进行区间的分割布局。
案例分析
实现图6.5-1案例图表的主要挑战来自以下几方面:
- 饼图为圆形,而仪表盘为半圆形;
- 饼图的扇区起始位置默认在0°,为顺时针12点方向,而仪表盘是顺时针9点方向;
- 实现仪表盘指针较为不易。
以上3点,1)完全可以使用占位扇区,无色无边框实现;2)可以使用饼形图的“第一扇区起始角度”选项来实现。实现的关键在3),传统的方案是使用次坐标饼形图或次坐标雷达图来实现,使用这两个方案有以下困扰:
- 次坐标饼形图:需要使用3个经过计算处理的数据来完成指针的定位;
- 次坐标雷达图:需要使用的辅助数据区域至少要360列/行。
案例实现
由于饼形图处理数值为“0”值的扇区数据点时并不忽略该数据点,如图6.5-2所示,该图表使用两个数据点,其中第2个数据点为“0”值,不论图表单元格设置是否为空距,但在图表中依然具有线和面的视觉属性,鼠标也可对其进行格式设定,图例的数据点标签也说明了这一点。
图6.5-2 饼形图处理数值为“0”值的扇区
提示
1)Excel 2003/2007中,饼形图对0值和空值的图形绘制,并非真正意义上的为空或为0;
2)Excel 2010对于空值的解释要较Excel 2003/2007有所进步,凡是引用单元格为空值或公式结果为“#N/A”的扇区数据点,该扇区数据点所设置的边框和填充均不会被显示。
综上,该案例的仪表指针部分仅使用一个空单元格为引用数据的次坐标饼形图。以下为该案例的详细实现过程:
1.整理原始数据,如图6.5-3所示。
图6.5-3 6.5-1案例图表实现第1步
2.以“所处位置”为系列标签,0值为数值引用制作饼图,如图6.5-4所示。
图6.5-4 6.5-1案例图表实现第2步
系列引用公式:=SERIES(Test!$F$15,,Test!$F$17,1)
3.在数据源中添加以“区域划分”为系列标签,辅助标签列数据为饼图扇区分类标签,区域划分的数据列为数值引用的新系列,如图6.5-5所示。
图6.5-5 6.5-1案例图表实现第3步
系列引用公式:=SERIES(Test!$B$15,Test!$D$16:$D$19,Test!$C$16:$C$19,2)
4.选中“所处位置”系列,将其设置到次坐标系中,同时设置该系列的分类标签为“83%”,实现效果如图6.5-6所示。
图6.5-6 6.5-1案例图表实现第4步
系列引用公式:=SERIES(Test!$F$15,Test!$F$16,Test!$F$17,1)
5.选中“区域划分”系列,将第一扇区起始角度设置为270°,并将占位扇区设置为无边框无填充,如图6.5-7所示。
图6.5-7 6.5-1案例图表实现第5步
6.选中“所处位置”系列,将第一扇区起始角度设置为辅助作图的角度值,并勾选设置图表数据标签为类别名称,如图6.5-8所示。
图6.5-8 6.5-1案例图表实现第6步
此处仪表指针的显示位置通过计算第一扇区旋转角度来获得。这个辅助作图的单元格并没有实际参与图表的绘制,只起辅助计算作用。
7.整理润色修饰后的最终效果如图6.5-9所示。
图6.5-9 6.5-1案例的最终实现
这个案例的实现相较而言比较简单,但当数据变化后,该图的指针部分需手工重新设置第一扇区起始角度,通过录制一个简单的宏即可解决。
程序代码:6.5-1 VBA调整饼图第一扇区起始角度
示例文档
本书所附案例6.5-1中提供了上述案例的两个不同实现方法。
对于如何利用3个数据点的饼形图来制作KPI仪表板的详细制作步骤,感兴趣的读者可参照案例文档来学习。