Excel:ROUND()到5的下一个单位?


2

我正在创建很多图,所以我正在做一个通用的比例尺,以便能够使用我作为单独系列隐藏在图中的MAX / MIN值进行比较。我的垂直轴(Y)以5为单位。

问题是,如果我的MAX为27.5,那么图形中的比例将变为35,而不是30。它总是会额外增加5。我的数据范围(和空间)要求我保持紧密,所以:

如何修改我的MAX / MIN值/系列,使其ROUNDS()达到下一个5的较高单位?

然后如何将图形比例尺限制为5 的下一个最近单位?

希望这不是每个图形的手动操作。


可能的解决方案:将一张图更改为首选的Y轴比例,然后>复制>粘贴特殊>格式。这不是理想的方法,但是比我预期的要快。任何其他解决方案仍然非常受欢迎。
RocketGoal 2010年

2
我不是100%不确定我确切地了解您想要什么,但是您是否只是在寻找取=CEILING(A1,5)整max的值?
DMA57361 2010年

是的 天花板是我所需要的-只是在帮助文件中的综述旁边找到了它。谢谢。
RocketGoal 2010年

Answers:


1

我认为您必须使用VBA做到这一点。

  1. 您可以首先计算单元格中的MAX,MIN和Major Unit值。
    D1: =CEILING(MAX(B:B),5)给出下一个更高的5单位(例如25)
    D2,D3:任意固定值或公式

  2. 然后使用下面的脚本来链接MaximumScaleMinimumScaleMajorUnit在图表中的细胞。

    Option Explicit
    
    Private Sub ChangeAxisScales()
        With ActiveSheet.ChartObjects("Chart 1").Chart
            ' Value (Y) Axis
            With .Axes(xlValue)
                .MaximumScale = ActiveSheet.Range("$D$1").Value
                .MinimumScale = ActiveSheet.Range("$D$2").Value
                .MajorUnit = ActiveSheet.Range("$D$3").Value
            End With
        End With
    End Sub
    

(或者,您也可以在VBA中计算值。)

参考链接:http : //peltiertech.com/Excel/Charts/AxisScaleLinkToSheet.html


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.