面积类图表中的“0”值处理

往往大家更加关心如何在面积类图表中剔除“0”值,尤其是饼图和环形图。当然最为直接的方法就是一个个手工去设置标签,但这样非常令人沮丧,烦琐且没有效率。此处总结一些去除“0”值的方法。

1.仅对数据标签进行设置,使其在视觉上不可见。

1)VBA删除法

通过一个个标签的循环判断来删除标签,等于模拟手工删除。


程序代码:6.5-2 VBA循环判断删除”0″值标签


2)数字格式法

该方法主要针对标签内容为数值的情况下,使用数据标签格式>数字>自定义:0.00;;;,若要剔除分类内容的标签,必须和辅助数据配合使用。使用该方法时需要说明:饼形图不可以使用引导线,标签间的分隔符设置必须为空格和新行模式。

2.一劳永逸的方法是:直接将“0”值项从图表数据源引用中剔除的数据整理法,该方法主要针对饼形图和环形图。

1)数组函数辅助区域+定义名称法

该方法需使用数组公式来将“0”值项从原始数据集中剔除,使用起来有一些难度。定义名称可以采用:

=OFFSET(初始单元格,0,0,MATCH(“”,数据所在单元格区域,0)-1,1)

2)排序+定义名称法

这是笔者推荐的方法,相较而言简单、直接。对于饼形图和环形图,可以很方便地了解谁的占比最大。定义名称可以采用:

=OFFSET(初始单元格,0,0,MATCH(0,数据所在单元格区域,0)-1,1)

3)完全定义名称法

这是所有方法中最为复杂的方法,由于图表引用定义名称的限制,需将定义名称进行多步分拆处理,该方法其实就是“数组函数辅助区域+定义名称法”的函数封装形式。以下定义名称具有较好的通用性,使用时仅需修改“A原始分类”和“A原始数据”两个定义名称的单元格引用即可,如表6.5-10所示:

定义名称及具体公式

表6.5-10 定义名称及具体公式

使用高级筛选功能和数据透视表也可实现。高级筛选也需和定义名称配合使用,每次变更数据源数据后,需要手工操作完成筛选作业;数据透视表生成的图表是数据透视图,这类图表在外观管理上有一定局限性。

烦人的饼图“0”值[趁火打劫]

不论何种面积类图表类型,因为占位的关系,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仪表板的详细制作步骤,感兴趣的读者可参照案例文档来学习。

图表的自动化:整理图表系列边框及标签位置

有时,有些图表的制作过程并不复杂,但格式化图表则需要大量的时间,这样的工作不但费时费力,枯燥且毫无乐趣可言。通过录制一小段宏,修改为制图的小帮手,不但充满乐趣,而且会使我们很有成就感,何乐而不为?程序代码6.4-3即是这样的一个例子。


程序代码:6.4-3 VBA整理图表系列边框及标签位置


单击“整理系列”按钮后的效果如图6.4-3所示,该节点图由48个堆积条形图和2个XY散点图系列构成,由于考虑到本书叙述的结构性问题,该图表的具体制作本节不进行深入的讲解,请对此有兴趣的读者根据数据和图表进行学习。

图6.4-3 VBA整理节点图系列边框和系列标签

示例文档


本书所附案例文档6.4为本节所述案例的具体实现。

案例中包含了本节所述的所有VBA代码,读者可参照案例文档进行演练学习。

图表的自动化:批量生成图表

有时我们需要根据数据的不同分类动态生成多个图表,这些图表具有一致的外观,唯一不同的仅仅是图表系列所引用的数据为不同单元格区域,使用手工一个一个去生成,或是通过复制修改的方法来获得这些图表不仅费时费力,而且容易出错,使用VBA来完成无疑是一个简单高效的方法。程序代码6.4-2所示是一个根据不同产品动态生成图表的案例,这个案例绝大部分代码的编写也是基于录制宏,尤其是图表格式设置部分。


程序代码:6.4-2 VBA批量生成图表


该程序实现了根据产品名称动态生成图表,并格式化的功能,同时该代码不受产品所占单元格数量多寡影响。如图6.4-2所示为单击“动态生成图表”按钮后所生成的5个不同产品的销售状况柱形图表。

VBA动态批量生成图表效果

图6.4-2 VBA动态批量生成图表效果

图表的自动化:数值刻度的最大/最小值设定

无论版本,Excel图表均默认提供了自动设置的数值轴刻度,但遗憾的是并未提供类似图表系列数据源的单元格引用功能。有些时候我们制作的图表往往需要手动来设置刻度的最大/最小值,这些手动设置的数值在图表系列引用的数据源数据变化后,大多数情况下必须要再次更改最大/最小值设定,这是一件非常烦琐的事。如何使数值轴刻度的最大/最小值设定和单元格关联,便成为一个非常有价值的问题,解决这个问题的答案便是VBA。

图6.1-1的案例中分割布局的辅助系列使用了数值1,并设置在了次数值纵轴,采用百分比堆积柱状图。如果不设置次数值纵轴,并使用簇状柱形图,则该辅助系列的引用数值就必须始终是主数值纵轴的当前最大值。面临的挑战首先是如何动态获得主数值纵轴的当前最大值;其次由于辅助系列的引用数值变化,主数值纵轴的当前最大值亦会自动发生变化;最后是这个主数值纵轴的刻度设定必须在图表系列引用数值发生变化时动态变化,而非静态。

录制宏

单击“录制宏”按钮,选中分割布局的辅助系列引用的单元格数值区域,在编辑栏进行赋值,录得以下代码段,获取该段代码的目的是后续将图表刻度最大值赋值给单元格。


程序代码:6.4-1a VBA动态图表刻度 录制宏 获取单元格赋值语句


单击“录制宏”按钮,激活图表并选中图表主要数值刻度,在坐标轴格式中设定刻度最大单位为固定模式,录得以下代码段,获取该段代码的目的是后续将单元格赋值给图表刻度最大值,以及获得图表的名称。


程序代码:6.4-1b VBA动态图表刻度 录制宏 设定图表主要数值刻度


整理代码

将上述两段录制宏整理为下列代码段,完成主代码。该代码段包括初始化代码段和主作用代码段两部分。


程序代码:6.4-1c VBA动态图表刻度 整理录制宏


关联到工作表事件中

完成上述代码后,要使图表和数据联动,实现无须借助人工参与的自动化,必须使代码和工作表事件建立关联关系。


程序代码:6.4-1d VBA动态图表刻度 与工作表事件关联


图表的自动化[以逸待劳]

虽然Excel图表功能具有非常灵活的高度自定义设置,但也存在诸多问题:

  • 数值刻度最大最小值无法动态引用单元格数值;
  • 无法一次生成相同类型、不同数据源区域的多个图表;
  • 一个个调整数据点标签位置费时费力……

其实,所有这些都可以通过使用VBA编程的自动化来解决。VBA是基于VB(Microsoft Visual Basic)的编程语言,其实这个编程语言学习起来远比其他任意一个编程语言简单,而且Excel提供了非常好的学习工具:录制宏,通过该工具我们可以快速构建属于自己的自动化宏过程。当然要将这个工具掌握到得心应手的地步,我们需要大量的学习和实践,有关该部分更为具体的内容请参阅讲解Excel VBA的书籍。

提示


这个部分的内容要求读者电脑上必须安装了Visual Basic for Applications。

如果没有安装请参考以下微软官方的说明:

http://msdn.microsoft.com/zh-cn/library/0s58cy7h(v=vs.90).aspx


录制宏功能按钮路径在:Excel 2003工具>宏>;Excel 2007/2010“开发工具”选项卡(如图6.4-1所示)>代码>录制宏。Excel 2003也可使用“Visual Basic”工具栏,Excel 2007/2010若没有“开发工具”选项卡,需在Excel 2007文件>Excel选项>常规>使用Excel时采用的首选项中,选中“在功能区中显示“开发工具”选项卡”;在Excel 2010中,文件>选项>自定义功能区中选中“开发工具”。

Excel 2010开发工具选项卡

图6.4-1 Excel 2010开发工具选项卡

摆脱束缚[借刀Sha人]

有时在图表中借用非图表元素,可以实现简化复杂图表制作过程的目的。如图6.3-1所示的案例是一个借用自选图形,巧妙替换了原本必须要借助辅助系列占位来实现图表诉求的技巧。

图6.3-1 摆脱束缚

案例介绍

图6.3-1的案例是4类商品1天的售货数量,其中每一类产品又由3种品牌组成。希望通过图表体现4类产品的总销量,同时分层汇总每类产品具体品牌的销售量。

根据上述内容:由于诉求是销售业绩,强调数值,核心诉求表达选择使用簇状柱形图表,使用堆积柱形图来分层表达具体品牌销售量,并分置于不同的坐标系中。

案例分析

这个案例的实现和案例6.2非常相似,完全可以使用6.2案例空系列占位的技巧来完成图表制作。但使用占位技巧有以下问题:

  • 需要额外增加一个图表系列;
  • 制作步骤有些繁杂,必须注意系列次序关系。

案例实现

实现图6.3-1案例的关键在:需要柱形的宽度仅为1/2,即柱形一半为透明。Excel支持将自选图形粘贴到图表中,且柱形图表系列支持使用透明自选图形。通过绘制半边为色彩填充,另半边为透明的自选图形,粘贴到图表即可实现案例图表的制作。

1.选中所有数据,图表向导:堆积柱形图,数据产生在列,如图6.3-2所示。

图6.3-2 6.3-1案例图表实现第1步

2.将“合计”系列置于次坐标系,并调整主次坐标系中的系列间隔,使柱形保持对齐,如图6.3-3所示。

图6.3-3 6.3-1案例图表实现第2步

3.选中次数值纵轴,键盘Delete键删除,如图6.3-4所示。

图6.3-4 6.3-1案例图表实现第3步

4.添加矩形自选图形,设置背景,无边框;按下键盘Shift+Ctrl组合键,鼠标水平拖曳复制一个矩形自选图形,新矩形设置无背景,并且其左侧边缘与之前矩形右侧边缘相切;鼠标框选这两个矩形,按下键盘Ctrl+C组合键,然后点击“合计”系列并按下键盘Ctrl+V组合键,如图6.3-5所示。

图6.3-5 6.3-1案例图表实现第4步

5.最终整理修饰,润色图表,如图6.3-6所示。

图6.3-6 6.3-1案例图表最终实现

示例文档


本书所附案例文档6.3为上述案例的两个不同实现方法。

对于如何利用图表系列占位来实现案例的详细制作步骤,感兴趣的读者可参照案例文档演练学习。

抛开图表看问题[围魏救赵]

所有图表都是基于数据的图示化表达,将数据的排布进行合理规划布局是Excel制作图表的基础。实现图6.2-1所示案例的主要图表制作技巧就是数据布局,当数据被重新布局之后,图表的制作过程就变得异常简单。

图6.2-1 抛开图表看问题

案例介绍

图6.2-1的案例是某店铺2009年度第1季度中三个不同类型产品的销货件数,其中一类产品由两种产品组成。希望通过图表体现三个不同类型产品分别在不同月份的销量,同时可以将其中由两种产品组成的一类商品分层进行汇总。

根据上述内容:由于诉求是销售业绩,强调数值,核心诉求表达选择使用簇状柱形图表;使用堆积柱形图来分层表达由两种产品组成的一类商品;本案例中三个不同类型产品采用网格线区隔来完成分割布局;考虑到销售数据的延续性,每类商品的销售数据遵循时间秩序排布。

案例分析

表6.2-2为图6.2-1所示案例的原始数据,完成图6.2-1所示的图表,这样的数据基本无法完成图表制作,主要体现在以下几方面:

表6.2-2 图6.2-1案例的原始数据表

1)每个系列需要9个数据点,原始数据不论行列均不满足;

2)簇状柱形和柱形堆积图表系列不可以在同一坐标轴共存,它们必须被分置在主次坐标;

3)主次坐标系中的簇状柱形和堆积柱形图表系列会出现层叠遮蔽问题;

4)分类横轴坐标标签为月份和产品类别的双层显示,在原始数据中月份和产品类别分别处在行和列两个完全不同的方向。

案例实现

每个产品类别3个月份,3个产品类别对应9个数据点;使用两个簇状柱形图表系列并列显示,在分层表达由两种产品组成的一类商品时,其中一个系列的数值可引入空值占位。基于上述考虑,将现有数据表重新排布是解决上述4个难点的关键。制作步骤说明如下:

1.数据表重新排布,并添加必要的辅助列,如表6.2-3所示。

表6.2-3 6.2-1案例原始数据表的重新布局

2.选中重新排布的数据表,直接选堆积柱形图,如图6.2-4所示。

图6.2-4 6.2-1案例图表实现第2步

3.将“辅助系列”和“主数据”系列分别置于次坐标系中,并变更为簇状柱形图,如图6.2-5所示。

图6.2-5 6.2-1案例图表实现第3步

4.分别调整主次坐标设置中的系列分类间距,使柱形以左侧对齐,选中次数值纵轴,按Delete键删除,如图6.2-6所示。

图6.2-6 6.2-1案例图表实现第4步

小技巧


柱状图表系列的分类间隔设置建议:

1)在同一坐标系的分类刻度,仅一个并列柱状时设置为60较佳。

2)在同一坐标系的分类刻度,多个并列柱状时设置为“60*并列柱形个数”较佳。

欲使主次坐标系中的柱形系列以左侧边缘对齐,参照以上设置。本例中,主坐标分类间隔为60,次坐标分类间隔为120。


5.添加一个XY散点系列,设置系列的SERIES函数为=SERIES(“分割辅助”,{3.5,6.5},{0,0},5)。然后设置其垂直误差线正偏差,无线端,固定值:150,如图6.2-7所示。

图6.2-7 6.2-1案例图表实现第5步

提示


在Excel 2003中可以使用分类轴主要网格线的[刻度]选项卡中“分类数”设置来实现,此处可设置为:3,该方法在Excel 2007和2010不支持。


6.最终整理修饰,润色图表,如图6.2-8所示。

图6.2-8 6.2-1案例的最终实现

小技巧


网格线设置建议:

1)Excel 2003样式推荐使用第一个网纹格式,见下面箭头所示。

:该方法将图表保存为WMF矢量格式时会有较大失真。

2)颜色建议使用调色板中的最淡灰色。

3)粗细建议为最细。

4)对于Excel 2007/2010中网格线的设置:

可以更加自由,但前提是网格线不可喧宾夺主,需淡化其存在。


示例文档


本书所附案例文档6.2的xlsx版本为为上述案例的实现,xls版本为Excel 2003使用网格线进行分割布局的案例,详见本章6.2.2小节第5步的提示内容。

系列的层次[瞒天过海]

在Excel中,有时通过约定俗成的做法去实现图表会非常烦琐,甚至还会被某个细节耗费掉大量的宝贵时间。以下方法旨在帮助我们重新去认识Excel图表制作的乐趣和真谛。

1)不要看到图表就信手操刀开始Excel图表制作,先停下来想一想制作过程。将制作的先后次序理顺,将发现Excel绘制图表所遵循的某些原则其实可以被打破,并为我所用。

2)图表是数据的图示化表达,有时解决问题的关键往往不在Excel图表本身,将图表抛在一边来看数据,合理的数据排布其实才是解决问题的关键。

3)公式和教条式的思维不利于图表制作,开启想象的翅膀,借助可以利用的所有元素,包括非图表元素,在摆脱某些Excel图表元素束缚的同时,会使我们的图表与众不同。

4)VBA编程其实很简单,忽略VBA存在的价值,等于缺乏从繁重、重复劳作中解放自己的勇气,让我们从学习录制宏开始,尝试了解和掌握VBA。

5)善加利用图表的限制,将这些看似不利的因素,转化为可以被图表利用的有利因素,不失为解决问题的有效途径之一。

6)墨守成规不是Excel图表制作的好习惯,毕竟图表的制作过程是一个创造性思维过程,只有学会变换思维,作图的过程才会变得简单、轻松和有趣。

优化图表的制作流程设计,往往会使图表的制作过程事半功倍。图6.1-1所示的是一个通过合理规划作图次序,瞒天过海减少操作步骤,节省大量宝贵作图时间的案例。

图6.1-1 作图的次序

案例介绍

图6.1-1的案例是某公司2009年度12个月份的销售业绩,其中自9月份起调整了销售策略。希望图表体现12个月份的销售业绩,同时可以将自9月份以后的数据进行特别标示。

根据上述内容:由于诉求是销售业绩,强调数值。核心诉求表达使用柱形图表系列;9月份以后数据的特别标示使用分割布局,为了契合本节内容,本案例的分割布局使用了较大的面积色块置于特别标示的数据之下。

学习思考


图表选择的考虑

A.表达不同时间业绩时

1)当只有一组数据时,使用柱形图是最佳选择,因为柱形在视觉中强调高度。如果选择折线、面积图表系列,则会因为凹凸使人的视觉更加关注趋势和数据间的差异。

2)当有两组以上的数据时,使用任何相同非堆积图表类型,不同的颜色会在视觉上产生明显的分组对比。如果它们的颜色完全相同,则会使人迷惑。

B.关于分割布局

1)较适宜使用在数据排序有秩序关系,即连续出现的状态,如本案例的时间刻度。

2)如果9月份以后数据的特别标示的数据点采用颜色来区分,在视觉上就会将数据分成两组来处理,并不利域于诉求表达。

3)分割布局除采用柱形图表系列无线无间距外,还可使用堆积条形图表系列和面积系列。

:在图表中柱形图表系列属于数值表达形式,会弱化表达趋势势能的强度。


案例分析

要完成上述图表的选择规划,大多数读者可能会选择使用以下的制图次序:

1)使用现有数据制作只有一个系列的柱形图,添加辅助列数据,添加第2个柱形图系列到图表;

2)依照后进先出(LIFO)原则将第1个柱形图系列置于次坐标;

3)分别调整主次纵数据坐标轴在横坐标轴的交叉位置;

4)设置主坐标轴最大刻度,并设置坐标格式为无。

在Excel二维图表中,图表系列具有“群组”和“集合”两个重要属性。在一个图表中可以包含两个相同类型的图表系列群组,虽然它们必须分属不同的坐标系集合,但群组的层叠优先级遵循后进先出(LIFO)原则。以上步骤中最烦琐的是第3)步,其实通过充分利用图表系列的层叠优先级,重新规划作图次序,可以将作图过程缩减到最简。

交叉引用


本节“群组”与“集合”概念和5.2节内容相关,具体请参考:

本书5.2.2节“组合不同类型图表系列”的内容。


案例实现

考虑到不同版本的兼容问题,此案例在Excel 2007和2010中,采用将辅助系列的图表类型变更为面积图,并配合时间刻度和次横坐标设置来实现。以下为实现过程:

1.使用现有数据制作簇状柱形图,如图6.1-2所示。

图6.1-2 案例图表实现第1步

2.设置分割布局使用的辅助系列数据,并以此组辅助数据,添加一个新的图表系列到图表中,如图6.1-3所示。

图6.1-3 案例图表实现第2步

:此处辅助列可以使用任意相同的数值,并非局限使用数值1。

3.将辅助系列置于次坐标系,如图6.1-4所示。

案例图表实现第3步

图6.1-4 案例图表实现第3步

4.变更辅助系列的图表类型为百分比堆积面积图,如图6.1-5所示。

图6.1-5 案例图表实现第4步

5.设置次要横坐标轴使其显示,如图6.1-6所示。

案例图表实现第5步

图6.1-6 案例图表实现第5步

小技巧


数值纵轴的刻度设置建议

为了不使图表的数值纵轴刻度设置太过密集,造成视觉干扰,主要刻度单位设置推荐以(最大刻度-最小刻度)5来设置,同时最好显示的刻度标签以5的倍数为最佳。


6.设置次要横坐标轴的主次刻度线类型和坐标轴标签均为:无,然后修饰整理完成,如图6.1-7所示。

案例最终实现

图6.1-7 案例最终实现

其他

在Excel 2003中,本案例可以将初始作图使用的图表类型设为非柱形图表类型,可以是折线、XY散点、面积等类型。当作为分割布局使用的图表系列在次坐标系集合中占位后,变更图表类型,通过“瞒天过海”来实现。

示例文档


本书所附案例文档6.1是上述案例的3种不同方法实现。

案例文档6.1的xlsx版本为本小节在Excel 2007和2010中实现案例,相关内容读者可参考:8.4充分利用时间刻度。xls版本为在Excel 2003中使用“占位”后,变更图表系列完成的案例。

对于本节没有详述的其他实现方法,感兴趣的读者可参照案例文档演练学习。

SIPOC中的S、I、P、O、C详解

SIPOC是从供应商到客户的过程逻辑审视管理方法。一个图表的制作过程也包括了这5个部分(如图5.4-24所示):

SIPOC过程管理模型

表5.4-24 SIPOC过程管理模型

  • S 供应商:数据的来源;
  • I 输入:数据及设计规划;
  • P 过程:图表的制作;
  • O 输出:图表的整理;
  • C 客户:审视和确认图表。

S:好的开始是成功的一半

图表基于数据,在开始作图之前确认一下这些数据是否准确非常有必要。如果数据来自于某些数据库或网络,需确保数据的链接正常,且数据的格式正确。一个好的建议是将这些链接自其他数据源的数据复制下来,选择性粘贴方法转为Excel的本地静态格式,包括来自数据透视表中的数据。

有些时候,Excel导入的数据会是文本格式,最简单的确认方法是:这些文本格式的数据在Excel单元格中通常为左对齐,如果是数值格式,Excel默认会在单元格中右对齐。

小技巧


要将工作表中的文本转换为数字,可以使用本文中介绍的任一种方法。

注意:

每种方法均假定读者已将单元格中的“数字格式”更改为“常规”。请按照下列步骤操作:

1)在“格式”菜单上,单击“单元格”。

2)在“数字”选项卡上,单击“分类”下的“常规”,然后单击“确定”按钮。

方法:

1)使用错误按钮

如果数字显示为文本的单元格中左上角有错误指示器,则请按照下列步骤操作。

❶ 在“工具”菜单上,单击“选项”。

❷ 单击“错误检查”选项卡。

❸ 单击选中“启用后台错误检查”复选框。

❹ 单击选中“数字以文本形式存储”复选框。

❺ 单击选中读者要打开的其他规则。

❻ 单击“确定”按钮。

❼ 单击包含错误指示器的单元格。

❽ 单击单元格旁边的错误按钮,然后单击“转换为数字”。

注意:此方法假定Excel中的后台错误检查功能已打开,否则不能使用此方法。

2)在单元格中重新键入值

要在单元格中重新键入值,在“格式”菜单上,单击“单元格”,然后单击“数字”选项卡,更改单元格的数字格式,并重新键入数字即可。

3)在单元格中直接编辑

要在单元格内部直接编辑,请按照下列步骤操作。

❶ 在“工具”菜单上单击“选项”。

❷ 在“编辑”选项卡上,验证选中了“单元格内部直接编辑”复选框,单击“确定”按钮。

❸ 双击要设置格式的单元格,然后按Enter键。

4)使用“选择性粘贴”命令

要使用选择性粘贴命令,请按照下列步骤操作。

❶ 在任一空单元格中,键入值1。

❷ 选择键入了1的单元格,然后单击“编辑”菜单上的“复制”。

❸ 选择要将其中的值转换为数字的单元格。

❹ 在“编辑”菜单上,单击“选择性粘贴”。

❺ 在“操作”下,单击“乘”。在“粘贴”下,单击“值”,然后单击“确定”按钮。

❻ 删除在空白单元格中键入的值1。

:某些软件的负值显示将负号(-)放在值的右侧。要将文本字符串转换为标准数值,读者必须返回文本字符串的所有字符(最右侧的负号字符除外),然后将结果乘以-1。例如,如果单元格A1中的值为128-,则以下公式可以将文本转换为值-128:

=LEFT(A1,LEN(A2)-1)*-1

5)删除隐藏字符和空格

如果数据排列在单个列或行中,此方法效果最佳。该方法使用TRIM和CLEAN函数删除随文件导入的多余空格及非打印字符。下面的示例假定数据位于A列,首行为第1行($A)。要删除隐藏字符和空格,请按照下列步骤操作。

❶ 在A列的右侧插入一列。为此,请单击“B”,然后在“插入”菜单上单击“列”。

❷ 在所插入的列的第一个单元格(B1)中键入以下内容:

$B=VALUE(TRIM(CLEAN(A1)))

❸ 在B列中,选择包含A列中数据的单元格右侧的所有单元格。

❹ 在“编辑”菜单上,指向“填充”,然后单击“向下”。新列包含A列中文本的值。

❺ 选定同一区域后,单击“编辑”菜单上的“复制”。

❻ 单击单元格A1,然后在“编辑”菜单上单击“选择性粘贴”。在“粘贴”下,单击“值”,然后单击“确定”按钮来将转换的值重新粘贴到A列的顶部。

❼ 删除B列。具体操作方法是,单击该列,然后单击“编辑”菜单上的“删除”按钮。

A列中的文本现在已成为数字格式。

:此方法可能不会删除非打印空白字符。例如,空白字符Chr$(160)不会删除。

6)使用Microsoft Visual Basic for Applications(VBA)过程

创建一个VBA宏,以便在选定的单元格或选定的单元格区域中重新输入数字。具体操作步骤如下:

❶ 键盘Alt+F11组合键启动Visual Basic编辑器。

❷ 在“插入”菜单上,单击“模块”。

❸ 将下面的宏代码键入新模块中:


程序代码:5.4-1 快速转换文本为数值格式

或使用数组赋值方法:



❶ 键盘Alt+F11组合键切换到Excel。

❷ 如果尚未选中要转换的单元格,则将其选中。

❸ 在“工具”菜单上,指向“宏”,然后单击“宏”。在“宏名”列表中,单击“EntValues”或“EntValues1”,单击“运行”。

7)使用“文本分列”命令

如果数据排列在单列中,该方法效果最佳。操作步骤说明如下:

❶ 选择包含文本的一列单元格,在“数据”菜单上,单击“分列”。

❷ 在“原始数据类型”下,单击“分隔符号”,然后单击“下一步”。

❸ 在“分隔符号”下,单击以选中“Tab键”复选框,然后单击“下一步”。

❹ 在“列数据格式”下,单击“常规”。

❺ 单击“高级”,对应设置“十位分隔符”和“千位分隔符”,单击“确定”按钮,单击“完成”。


I:分析与选择

有了数据之后,我们所要做的就是根据诉求,规划数据如何变为图示化语言。不同的诉求会有不同的图表表达方式,如果不清楚诉求,制作图表无从谈起,所以首要考虑的内容是图表诉求

其次根据诉求的不同,需要确认的是:要使用何种表达形式和布局的图表。除了一些ISO(国际标准化组织)或其他标准化文件中有明确定义的工程与技术类的图表外,大多数使用在日常办公及商业领域的图表其实没有非常准确的答案。麦肯锡公司的基恩·泽拉兹尼(Gene Zelazny)在《用图表说话》一书中提供了一个非常简单有效的对照表,安德鲁·阿贝拉(Andrew Abela)在自己的博客上也提供了一个很有价值的选择指南,但这些仅仅是针对常用图表在约定俗成上的推荐。

根据本书第1章和第3章的内容,将日常使用的图表类型归纳为以下的对照表(如表5.4-25所示),该表旨在提供一个帮助读者根据本书内容选择图表的方法。不同的表达形式及布局在图表数值、差异、趋势各项势能中均可能会出现,关键是要去判断该种表达形式及布局的强弱优先级。不同的列表形式可以表达数值、差异、趋势等不同的图表势能,列表形式的优点在于可以同时进行水平和垂直的比较,马上准确获知数值。

图表形式与布局对照表

表5.4-25 图表形式与布局对照表

:往往一个图表中会包含多个表达形式和布局,表5.4-25所给出的关系并非标准的典型类型,也不是图表的全部。

最后,当图表形式和布局被确定下来,需要考虑的就是图表形式和布局如何被实现。这包括坐标轴如何被处理、系列的叠放层次及其所在的群组和集合等元素设定,以及彼此间的关系如何被处理。如果图表的系列较多,且形式和布局多样,一个非常好的建议是:在手边使用纸张和笔,设计一个草图(如图5.4-26所示),并记录下每个关键的部分,这一点非常重要,有助于快速理清头绪。

图5.4-26 图表的草图设计案例

当然所有这些都必须要求我们站在客户的立场去考虑问题,而不仅仅是自我的认知。再次强调:GIGO(Garbage In Garbage Out)原则:输入的是垃圾,出来的自然也是垃圾。

P:修正与调整

完成上述两点,就进入了Excel图表的实现阶段。由于Excel图表的高度可自定义性,使得使用Excel制作一个图表的过程和一些统计类软件完全不同,这类软件通常一键可以生成各类标准样式的图表,且无须使用者去参与完成那些中间计算的工作;Excel则完全不同,一些复杂的图表,中间计算的部分需要使用者来计算,然后才能完成图表制作。

如图5.4-27所示,Excel图表的制作是一个“时间+技巧+逻辑=成本”的过程,有时这个成本高得有些令人退却。所想并非所得,要想得到和最初想法比较一致的结果,可能在制作的过程中要不断调整我们作图的逻辑,才可实现期望所得。

图表制作的过程模型

图5.4-27 图表制作的过程模型

O:润色与修饰

当完成图表制作后,润色与修饰图表上的每个元素就是一个重要任务。很多读者喜欢在制作图表的同时完成图表相应元素颜色、字体大小、粗细这些视觉外观的格式化,其实这是一个非常不好的习惯,很多情况下,在图表未正式完工前,一切元素均属不确定对象,这样就会出现大量格式化工作的多次重复设定,无疑在增加制作的成本,且由于这些元素间的关系没有最终定稿,此时的格式设置会导致最终成品在视觉观感上欠妥,影响图表诉求表达。

一般建议:将那些用于辅助作图的中间计算部分单元格区域和图表分离开来会比较好,这将会减少对读者视觉的干扰以及读者误修改带来的图表失真。Excel图表对数据源的引用相当智能,当这些数据源被移动时,图表系列的源数据引用地址也会动态调整,所以根本不用担心这样的操作会对图表产生的相应影响。

图表的润色与修饰固然重要,但我们也需要考虑图表所在的上下文环境布局、润色和修饰。只有保持相互间的协调,这样的图表才能更好地融入到报告中去。

C:检视确认

图表真正完成,请再次确认和检查图表,必要时,在正式发布图表前,请他人看看,这将没有坏处。最为关键的是,要确认图表使用在电子邮件、网络共享环境下是否依然工作正常。记住所有的一切都是为了使图表讲述一个有关数据的生动故事,这个故事的目的是说服他人接受这个图表的诉求。