Excel 2007根据另一个字段更改单个系列中的小节条的颜色

我有一个数据透视表,如下所示:

Chain Store Units Bob's BB Los Angeles 10 Bob's BB San Diego 12 Tom's TM Los Angeles 12 Tom's TM San Francisco 18 Kate's K Monterey 11 

目前我有一个条形图,只显示所有的商店和单位降序,所以TM旧金山是第一,然后TM洛杉矶和BB圣地亚哥,然后K蒙特利等这就是我想看到的数据。

但是我也想给连锁店打码,所以Bob的店铺有一个红色的酒吧,Tom的是蓝色的,而Kate的是绿色的。

是否有可能做到这一点? 我已经尝试了各种方式来设置数据透视表,但最终看起来很乱,我找不到在“链”字段上设置每个条的颜色的方法。

=

我正在testingmacros观解决scheme,但如果任何人有一个非macros观的解决scheme,那么请仍然回答。 🙂

如果您正在寻找一个基于macros/基于VBA的解决scheme,那么操作图表的数据点格式相当容易。 假设系列XValues = Chain,你可以这样做:

 Sub SetColors() Dim cht As Chart Dim srs As Series Dim xVals As Variant Dim p As Long Set cht = ActiveSheet.ChartObjects(1).Chart '<-- Modify as needed' Set srs = cht.SeriesCollection(1) '<-- Modify as needed' xVals = srs.XValues '<-- modify as needed, if your Chain is not part of series data you will need to build this array another way' For p = 1 To UBound(xVals) Select Case xVals(p) Case "Bob's" srs.Points(p).Format.Fill.ForeColor.RGB = RGB(255, 0, 0) Case "Tom's" srs.Points(p).Format.Fill.ForeColor.RGB = RGB(0, 255, 0) Case "Kate's" srs.Points(p).Format.Fill.ForeColor.RGB = RGB(0, 0, 255) End Select Next End Sub 

如果链不是系列数据的一部分,则必须更改xVals的设置方式,但总体原则仍然适用:迭代系列中的点,检查参考列表并应用特定基于参考项目的颜色。