Excel: ROUND() до следующей единицы 5?

Я создаю много графиков, поэтому я делаю общую шкалу, чтобы иметь возможность сравнивать их, используя значения MAX/MIN, которые я скрываю в графике как отдельный ряд. Моя вертикальная ОСЬ (Y) в единицах 5.

Проблема в том, что если мой MAX равен 27,5, то мой масштаб на графике будет 35, а не 30. Он всегда увеличивает одну дополнительную 5. Мои диапазоны данных (и пространство) требуют, чтобы я держал вещи в узде, поэтому:

Как изменить значения / серии MAX/MIN, чтобы они округлялись () до следующей более высокой единицы 5?

Как мне тогда ограничить масштаб графика следующей ближайшей единицей из 5?

Надеюсь, это не ручная работа с каждым графиком.

2 ответа

Решение

Я думаю, что вы должны сделать это с помощью VBA.

  1. Сначала вы можете вычислить значения MAX, MIN и Major Unit в ячейке.
    D1: =CEILING(MAX(B:B),5) дает следующую более высокую единицу 5 (например, 25)
    D2, D3: любое фиксированное значение или формула, как вам нравится

  2. А затем используйте следующий скрипт, чтобы связать MaximumScale, MinimumScale а также 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

@DMA57361 имеет правильное решение, функция ПОТОЛОК - ваш друг.

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

Другие вопросы по тегам