文章目录

没有构建辅助列解决不了的柱状图问题,如果有,那就再造一列。
今天就遇到了一个柱状图的问题,财务需要出一张表能够反映出一系列数值的增减情况。从1开始,每个值都和前一个做比较,标记出增减的幅度,减少的量用绿色标注,增加的用红色。
01

我看了一下样表和原始数据,数据是手算的,颜色是手动调的,我不是针对什么,但是这样的表在我们看来,就是辣鸡。

那么要怎么做呢,要做这种长得有点像甘特图的图,用辅助列并且把辅助列隐藏掉是常识,那么这个辅助列的数值应该是多少呢?

一直一直我都在说,要解决问题,我们先要清楚问题到底是什么,让我们先来仔细看看我们的需求:
每一条辅助条都是和上一个数值来比较的:
有这两种情况:

1. 如果这次是增加的,那么这次的辅助条的长度就是上次数据的值
2. 如果这次是减少的,那么这次的辅助条的长度就应该是本次数据的值

听起来很绕,用图来解释的话会简单一点:
对于这四个数字来说,除了第一个数字以外,其他的数字都根据前一个数字来进行增减的标识:

1. 第一个数字是25,这个不要做什么变化
2. 第二个数字是20,比第一个少了5,所以要显示一条长度5的绿条,绿条的顶端是上次的数值,底端是这次的数值20,所以辅助条的长度是20,也就是这次数据的长度
3. 第三个数字是23,比第二个多了3,所以要显示一条成都3的红条,红条的顶端是这次的数值23,低端是上次的数值20,辅助条的长度是20,也就是上次数据的长度

表里面S3列就是增减的数据。
大致知道了这个理论我们就能来干活了,基本原则是根据数值的增减情况来确定辅助条的长度,然后叠上一个增减的值,然后分别给增加和减少的部分填充不同的颜色。
我们先来制作辅助列吧,我们要做三个辅助列:辅助条,用来填充底部的透明部分;增加值和减少值
为什么要把增加和减少分来来呢,因为Excel图表里面原生不支持公式填充,而这里把它们分开来又很简单,所以现在分一下,待会我们只要针对增加和减少的整个序列填充颜色就可以了。
公式是这样的,很简单:
02
这一步做完就很简单了,新建一个使用辅助条,增加值和减少值这三列新建一个堆积图:
03
然后选中辅助列,选择无填充
04
之后就按需要对增减部分分别填色就好啦

重点:

* 理解为什么要做辅助列以及辅助列长度如何确定
* 为什么要把增加和减少部分做两个数列(方便填色)

示例文件