我有一个包含多个数据系列的柱形图。例如:
我不想让列彼此相邻,所以我设置了 reduceSeries overlap
和Gap width
inFormat Data Series...
现在这个系列是一个在另一个之上。但是它们的 Z 索引(Z 位置)是由图表中的系列顺序定义的,因此当最后一个系列具有最高值时,它的列会超出其他不可见的列。
是否可以根据实际值对列进行排序?我想把最小值放在最前面。就像在这张图片中一样(这里使用了古老的 mspaint-fu :))。
PS:我需要它来处理非常大的数据系列(它看起来像直方图),所以我绝对不想把这些列放在一起。但它可能会被“过滤”到低系列视图,其中使用其他图表类型可能会导致显示这些离散值的失真。
感谢您的建议!
一种方法是创建一个处理表来计算系列的升序。
列 E:G 使用公式计算出第一个最小的、第二个最小的等等
SMALL()
,其中第一个参数是您的值行,第二个参数是排名 - 所以单元格 E3 是=SMALL($A3:$C3,1)
、 F3=SMALL($A3:$C3,2)
和 G3=SMALL($A3:$C3,3)
。复制尽可能多的行,如果超过 3 个系列,则根据需要添加尽可能多的列。然后我们需要一个处理表,显示在 J:R 列中。
每个系列都有一个列,每个可能的位置都按升序排列。在“第 1”列组中,在 J 列中,我们可以使用公式检查 A 系列是否是第一个最小系列
如果存在匹配,则显示该系列的值。如果不是,则显示零。
现在,如果您使用范围 J2:R6 创建簇状柱形图并应用 100% 系列重叠,您会发现需要重新排序列。使用“选择数据”对话框重新排列列,使 3C 位于顶部,1A 位于底部。
最后,更改每个系列的颜色。所有 A 系列必须为蓝色,所有 B 系列必须为橙色,C 均为灰色(或任何您的实际颜色)。
我为Andi Mohr 的解决方案自动化创建了宏。也许有人觉得它有用。
特点/限制:
用法
动图
代码