Excel - 仅在轴上显示10的倍数,无论最小值和最大值

时间:2012-02-28 19:33:29

标签: excel vba excel-vba

假设我有一个线图,显示1957年至2003年间每年的数据。

如果我格式化轴并将标签之间的间隔更改为10,则生成的标签将为

  

1957

     

1967

     

1977

     

1987

     

1997

我想要的是这样的标签:

  

1960

     

1970

     

1980

     

1990

     

2000

如何在不更改图表的实际范围的情况下显示后面的标签?也就是说,我希望图表显示所有数据,从1957年到2003年(不仅仅是1960年到2000年);但我希望标签在1960年开始3年。

有没有办法在Excel中实现这一目标? (这是我处理的数十个图表的问题,因此编程或非临时解决方案是理想的,而不是,例如,手动设置每个范围标签。有时首选间隔为5,有时为10,有时20等。)

4 个答案:

答案 0 :(得分:4)

执行此操作的简单方法是在“年份行”下方再插入一行,然后更改字体颜色以匹配单元格背景(或简单地减小行的高度),然后将3添加到上一年。 (见快照)

接下来,只需将图表基于新行。

enter image description here

<强>后续

  
    
      

这在我原来的问题中可能并不清楚 - 数据来自每年 - 不仅仅是1957,67,77而是1957,58,59,60,61等 - 超级7分钟之前

    
  

我为1957年至1990年采集了一个样本用于说明目的。上述概念也适用于这些数据。格式化轴并将标签之间的间隔更改为10.请参阅下面的快照。

enter image description here

更多关注

  
    
      

使用此解决方案,刻度线与正确的日期不对应。例如,1970年的标签将指向1967年的数据。我需要将1970年的标签指向实际的1970年数据。 - supertrue 19分钟

    
  

遵循上述概念但使用以下公式代替A2中的A1 + 3

=IF(MOD(A1,10)=0,A1,"")

查看快照。为了便于说明,我故意将第2排的行高保持为大。

enter image description here

HTH

西特

答案 1 :(得分:1)

使用散点图而不是Excel线图。它们看起来是一样的,但是使用散点图,你不会陷入沿着x轴的均匀间隔数据。你可以在1950年(或1960年)开始x轴,你的线仍将从1957年开始。

enter image description here

答案 2 :(得分:1)

如果你绝对必须使用折线图,那么解决问题的最快方法是将假数据添加到前一个10的倍数,在这种情况下是1950。假数据可以是空单元格,或者更好的是#N/A以明确这些数据实际上不可用的事实。这是一个例子(为简洁起见,直到1973年)。

enter image description here

说实话,我不喜欢折线图。让它们看起来恰到好处真的很难。在大多数情况下,散点图更好。更容易定制。在Excel 2003中,您只需将轴的最小,最大和主要单位分别编辑为1950,1980和10。不需要假数据。

要获取执行此操作的代码,只需在手动执行时记录宏。

enter image description here

答案 3 :(得分:0)

如何创建额外的列并应用ROUND。然后可以为ax的标签设置此列。