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

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

我正在创建很多图表,因此我制作了一个通用比例,以便能够使用我在图表中隐藏为单独系列的 MAX/MIN 值来比较它们。我的垂直轴 (Y) 以 5 为单位。

问题是,如果我的最大值是 27.5,那么图表中的比例将是 35,而不是 30。它总是会增加额外的 5。我的数据范围(和空间)要求我保持紧凑,因此:

我如何修改我的 MAX/MIN 值/系列以便它 ROUNDS() 到下一个更高的单位 5?

那么如何将图表比例限制为下一个最近5 为一个单位?

希望这不是每个图表都需要手动完成的事情。

答案1

我认为你必须使用虚拟专用网络

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

  2. 然后使用以下脚本将图表的MaximumScaleMinimumScale和链接MajorUnit到单元格。

    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

答案2

@DMA57361 有正确的解决方案,CEILING 函数是你的朋友。

http://office.microsoft.com/en-us/excel-help/ceiling-HP005209007.aspx

相关内容