stackoverflow.com/questions/43546534/...

дна серия переупорядочения используется для создания диаграммы в Excel?

Например, я иду на график, щелкните правой кнопкой мыши> Выбрать данные. В левой колонке я вижу серию 1, серию 2, ..., серию n. Скажем, я хочу переместить серию 3 за серией 4, это можно сделать из графика? Я не хочу перемещать ячейки данных на листе.

Я использую Excel 2011 (Mac OS X).

 Lance Roberts08 авг. 2011 г., 18:39
Как вы спросили (до того, как я его отредактировал), подходящим местом для такого типа вопросов является Super User, так как он не связан с кодом.

Ответы на вопрос(8)

если вы используете две оси Y, порядковые номера будут иметь значение только в пределах набора серий этой оси Y. Я полагаю, что вторичная ось -y по умолчанию находится сверху основной. Если вы хотите, чтобы ряды на первичной оси были наверху, вам нужно сделать его второстепенным.

 mooseman14 февр. 2013 г., 21:49
вторичная ось Y по умолчанию находится в нижней части первичной
 Trojanian16 янв. 2015 г., 15:19
@Mooseman: вы не правы. По крайней мере, в Excel 2010.
 mooseman20 янв. 2015 г., 20:44
2 года назад я, скорее всего, использовал 2007 год, и как именно я ошибаюсь?

Используйте приведенный ниже код, если вы используете Excel 2007 или 2010 и хотите изменить порядок только легенды. Убедитесь, что mChartName соответствует вашему имени диаграммы.

Sub ReverseOrderLegends()

mChartName = "Chart 1"
Dim sSeriesCollection As SeriesCollection
Dim mSeries As Series
With ActiveSheet
    .ChartObjects(mChartName).Chart.SetElement (msoElementLegendNone)
    .ChartObjects(mChartName).Chart.SetElement (msoElementLegendRight)
    Set sSeriesCollection = .ChartObjects(mChartName).Chart.SeriesCollection
    For Each mSeries In sSeriesCollection
        If mSeries.Values(1) = 0.000000123 Or mSeries.Values(1) = Empty Then
            mSeries.Delete
        End If
    Next mSeries

    LegendCount = .ChartObjects(mChartName).Chart.SeriesCollection.Count
    For mLegend = 1 To LegendCount
        .ChartObjects(mChartName).Chart.SeriesCollection.NewSeries
        .ChartObjects(mChartName).Chart.SeriesCollection(LegendCount + mLegend).Name = .ChartObjects(mChartName).Chart.SeriesCollection(LegendCount - mLegend + 1).Name
        .ChartObjects(mChartName).Chart.SeriesCollection(LegendCount + mLegend).Values = "={0.000000123}"
        .ChartObjects(mChartName).Chart.SeriesCollection(LegendCount + mLegend).Format.Fill.ForeColor.RGB = .ChartObjects(mChartName).Chart.SeriesCollection(LegendCount - mLegend + 1).Format.Fill.ForeColor.RGB
    Next mLegend

    For mLegend = 1 To LegendCount
        .ChartObjects(mChartName).Chart.Legend.LegendEntries(1).Delete
    Next mLegend
End With
End Sub

11:

выберите график,выберите серию (проще всего в разделе «Лента»> «Макет диаграммы»> «Текущий выбор»),щелкните Расположение диаграммы> Выбор формата или Меню> Формат> Ряд данных…,во всплывающем меню «Формат данных серии» нажмите «Порядок», затем выберите отдельные серии и нажмитеДвигаться вверх или жеДвигаться вниз кнопки для настройки порядка наложения на оси для серии объектов. Это изменяет порядок для сюжета и легенды, но может не изменить номер заказа в формуле Серии.

У меня был сюжет из трех серий на вторичной оси, а ряд, который я хотел наверху, застрял на дне вопрекиДвигаться вверх а такжеДвигаться вниз кнопок. Так получилось, что он был отформатирован только как маркеры. Я вставил строку, и в preto (!) Я мог изменить ее порядок в сюжете. Позже я мог убрать строку, и иногда ее можно было заказать, а иногда нет.

сводная диаграмма:

перейти к вашей основной сводной таблицещелкните правой кнопкой мыши на одной из меток столбца для серии, которую вы хотите настроить (Примечание: вам нужно нажать на один из заголовков серии (например, «суббота» или «воскресенье» в примере, показанном ниже), а не «столбец» Сам текст ярлыков)во всплывающем меню наведите курсор на «Переместить», а затем выберите параметр в появившемся подменю, чтобы изменить положение переменной серии.ваша сводная диаграмма обновится соответственно

помещает их в массив, сортирует массив и на основании этого определяет порядок построения, который даст желаемый результат.

Function Increasing_Legend_Sort(mychart As Chart)


    Dim Arr()
    ReDim Arr(1 To mychart.FullSeriesCollection.Count)

        'Assigning Series names to an array
        For i = LBound(Arr) To UBound(Arr)
        Arr(i) = mychart.FullSeriesCollection(i).Name
        Next i

        'Bubble-Sort (Sort the array in increasing order)
        For r1 = LBound(Arr) To UBound(Arr)
            rval = Arr(r1)
                For r2 = LBound(Arr) To UBound(Arr)
                    If Arr(r2) > rval Then 'Change ">" to "<" to make it decreasing
                        Arr(r1) = Arr(r2)
                        Arr(r2) = rval
                        rval = Arr(r1)
                    End If
                Next r2
        Next r1

    'Defining the PlotOrder
    For i = LBound(Arr) To UBound(Arr)
    mychart.FullSeriesCollection(Arr(i)).PlotOrder = i
    Next i

End Function
 M-M30 июн. 2017 г., 22:41

«Форматирование ряда данных» есть вкладка «Порядок рядов», в которой можно перемещать серии вверх и вниз. Я нахожу это намного проще, чем возиться с последним аргументом формулы ряда.

Это в Excel 2003 в Windows. В Excel 2011 для Mac есть похожий диалог:

Решение Вопроса

док сюжета серии. Вы можете редактировать эту формулу, как и любую другую, прямо в строке формул.

Например, выберите серию 4, затем измените 4 на 3.

 M-M11 янв. 2019 г., 08:08
@KM Добавьте еще одну серию в таблицу, делайте то, что вам нужно, удалите в конце.
 KM.09 мар. 2011 г., 17:27
Приятно! За исключением случаев, когда у вас есть серия «n», вы не можете перейти к n + 1; Excel держит вас на "н." Моя гистограмма имеет пары столбцов с пробелом, и я не могу добавить пробел b / n для последних двух пар пар, используя это, но это здорово! Спасибо!

Выберите (щелкните) любой ряд данных и перейдите на вкладку «Дизайн» в группе «Инструменты диаграммы».Нажмите «Выбрать данные» в группе «Данные» и во всплывающем окне выделите серию для перемещения.Нажмите треугольник вверх или вниз в верхней части левого поля с надписью «Записи легенды» (Серия).

Ваш ответ на вопрос