【发布时间】:2012-08-21 15:10:03
【问题描述】:
我有一个简单的折线图,我已将数据标签添加到:
但我不想要所有这些标签。我只希望显示顶部和底部的 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。这会使图表底部下方的不合适值超出可见范围。
【问题讨论】:
-
您可以使用图片链接指向包含您想要的标签的单元格(您可以设置公式以使这些单元格井井有条),但是您将不得不每月调整它们以适应图表上的正确位置,这比手动删除不需要的标签要少,但仍然是手动的。除此之外,我想不出更好的非 VBA 解决方案。
-
我认为没有非 VBA 方法。通过support.microsoft.com/kb/914813,此链接可能会帮助您入门
-
喜欢答案...我发现的一个简化是在
FALSE语句的FALSE部分中使用NA()IF。 Excel 中的图表会忽略这些,因此您无需设置解决方法。