Excel: ROUND() до следующей единицы 5?
Я создаю много графиков, поэтому я делаю общую шкалу, чтобы иметь возможность сравнивать их, используя значения MAX/MIN, которые я скрываю в графике как отдельный ряд. Моя вертикальная ОСЬ (Y) в единицах 5.
Проблема в том, что если мой MAX равен 27,5, то мой масштаб на графике будет 35, а не 30. Он всегда увеличивает одну дополнительную 5. Мои диапазоны данных (и пространство) требуют, чтобы я держал вещи в узде, поэтому:
Как изменить значения / серии MAX/MIN, чтобы они округлялись () до следующей более высокой единицы 5?
Как мне тогда ограничить масштаб графика следующей ближайшей единицей из 5?
Надеюсь, это не ручная работа с каждым графиком.
2 ответа
Я думаю, что вы должны сделать это с помощью VBA.
Сначала вы можете вычислить значения MAX, MIN и Major Unit в ячейке.
D1:=CEILING(MAX(B:B),5)
дает следующую более высокую единицу 5 (например, 25)
D2, D3: любое фиксированное значение или формула, как вам нравитсяА затем используйте следующий скрипт, чтобы связать
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