2

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

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

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

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

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

2 ответа2

1

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

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

1

Я думаю, что вы должны сделать это с помощью 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .