将条件格式与图表结合使用时,可以创建与图表中线条的相对位置匹配的详细图表图例。
当我在《华尔街日报》上看到带有这样的图例的图表时,我知道我必须在“ 滑动文件”中添加类似的图表 …但是在Excel中,我们需要动态的图例!
什么是动态图表图例?
动态图表图例随着您的数据更改而更改。
例如,此图例会自动调整,以使有关顶行的信息也位于图例栏的顶部,而有关底行的信息也位于栏的底部,依此类推。
此外,此图例包括每个数据系列的当前值。当然,您可以添加任何其他数据。
由于此图表显示的是随机数据,因此每次重新计算工作簿时,图例都会自动调整。
关键:条件格式
我可以想到两种方法来建立这样的图例。
一种方法是使用Camera对象。如果不是一个问题,我可能会使用这种方法。问题是使用多个Camera对象会大大降低计算时间。因此,将Camera对象的使用限制为仅在确实需要时才是一个好主意。
另一种方法是使用条件格式。该方法计算迅速,并产生了很好的结果。
这两个图表显示了相同随机数据的不同版本。请注意,随着图表系列顺序的更改,图例会自动适应。
入门
数据没有什么特别的。它只是一个显示屏,显示五个不同类别的13个月。当然,这里的类别是产品线:
具有动态图例的图表数据。
第4行显示了我使用的两个范围名称。也就是说,我命名了产品范围Product,以及当前值Current的范围。
该图表在单独的工作表上:
具有动态图例的图表及其控制数据。
要创建图表,让我们从控制区域开始。
设置图例控件
我在下面讨论关键值和公式。除非我另有说明,否则根据需要将最后一个公式复制到其列的下方。
L3:1
L列仅包含数字1到5。
M3:= INDEX(当前,$ L3)+ ROW()* 0.0001
M列从数据工作表中返回当月的数据……另加一个。我们将使用RANK函数将这些结果从1到5进行排名。但是,只要RANK函数对重复的值进行排名,它就会返回重复的结果。为了确保没有两个值重复,我们向排名的每个值添加唯一但无关紧要的值。(这里,我们将行号乘以.0001。)
N3:= RANK(M3,$ M $ 3:$ M $ 7)
N列中的公式对M列中的结果进行排名。
O3:1
O4:= O3
O5:= O3 + 1
列O返回1,1,2,2,依此类推。根据需要将单元格O5复制到该列下方以生成这些值。
P3:= MATCH(O3,$ N $ 3:$ N $ 7,0)
P列中的公式会自动对结果进行排序。单元格P3返回行号最高的结果。单元格P4返回排名第二的结果的行号,依此类推。
最后,您可以设置返回标签和值的公式:
I3:= INDEX(Product,$ P3)
I4:= INDEX(Current,$ P4)
根据需要将这对公式复制到该列的下方。
现在已经有了公式和值,我们可以设置条件格式了。
设置条件格式
选择范围H3至H12。然后,在新Excel(Excel 2007或更高版本)中激活单元格H3的情况下,选择“主页”,“样式”,“条件格式”,“新规则”,“使用公式确定要格式化的单元格”。输入此处显示的公式:
条件格式对话框。
然后选择“格式”按钮,然后为“系列1”行选择所需的主题颜色。再重复此过程四次,以使五个公式如下所示:
= $ P3 = 1
= $ P3 = 2
= $ P3 = 3
= $ P3 = 4
= $ P3 = 5
对于每个值,请选择不同的主题颜色。完成后,电子表格应显示十个单元格,并具有五种填充颜色,如上图所示。
要在视觉上划分每组彩色单元格,请在每组两个单元格周围分配中等厚度的白色边框。
完成您的报告
使用标准的制图技术,创建折线图。选择SERIES 1并将线的颜色更改为您分配给第一种条件格式的颜色。将SERIES 2线条颜色更改为第二种颜色,依此类推。然后,根据需要设置图表区域的格式。