2

我有一个简单的折线图,已将数据标签添加到:

图表

但我不想要所有这些标签。我只希望显示顶部和底部的 10%(任意数字)值。例如,在图片中,我只希望显示 51、54、57、61、66、68、74 的标签。我可以手动删除其他标签,但图表数据会随着时间动态变化。有没有办法做到这一点?这些标签中的文本现在是一个占位符,最终将有 6-10 个字符长,此时拥有所有这些标签将变得一团糟。

我对 VBA 并没有真正的信心,所以我只想把它作为最后的手段。

编辑:感谢 Scott 富有洞察力的回答。它与手动填充的数据标签列完美配合。但是,如果想要动态填充它,则需要一些陪审团操纵。我使用以下公式来填充它:

=IF(OR(O1=LARGE($O$1:$O$30,1),O1=LARGE($O$1:$O$30,2),O1=LARGE($O$1:$O$30,3)),O1,"")

基本上,如果 O 中的值是列表中的第一个、第二个或第三个值,它会将单元格值从 O 列复制到 P 列。如果不是其中任何一个,它将使单元格留空。但即使单元格在视觉上是空白的,如果单元格中有公式,Excel 的图表函数也会将该值解释为 0。这意味着图表的整个底部都有重复的“0%”数据标签。为了解决这个问题,我将 FALSE 参数的值设置为负数,然后将图表上的最小值从自动更改为 0。这会使图表底部下方的不合适值超出可见范围。

4

1 回答 1

7

啊哈!

就在我以为除了图片链接没有非VBA解决方案的时候,我的聪明才智来了:)

以下是您可以分阶段执行的操作:

1)在原始系列列旁边创建一个数据集,其中仅包含您想要标签的值(同样,这可以是公式驱动的,仅选择顶部/底部n值)。见下文 D 列。

在此处输入图像描述

2) 将此数据系列添加到图表并显示数据标签。

3)将线条颜色设置为No Line,这样就不会出现了!

4)沃利亚!见下文!

在此处输入图像描述

于 2012-08-21T15:42:48.653 回答