Изменение порядка данных в Excel
Как изменить порядок рядов, используемых для создания диаграммы в Excel?
Например, я перехожу к диаграмме, щелкните правой кнопкой мыши > Выбрать данные. В левом столбце я вижу ряд 1, ряд 2,..., ряд n. Скажем, я хочу перенести серию 3 после серии 4, можно ли это сделать из графика? Я не хочу перемещать ячейки данных на листе.
Я использую Excel 2011 (mac os x).
Ответы
Ответ 1
Выберите серию и посмотрите в строке формул. Последним аргументом является порядок сюжета серии. Вы можете отредактировать эту формулу так же, как и любую другую, прямо в строке формул.
Например, выберите серию 4, затем измените значение 4 на 3.
Ответ 2
Щелкните правой кнопкой мыши любую серию на диаграмме. В диалоговом окне "Формат данных" есть вкладка "Серийный заказ", в которой вы можете перемещать серию вверх и вниз. Я нахожу это намного легче, чем играть с последним аргументом формулы ряда.
Это в Excel 2003 в Windows. В Excel 2011 для Mac есть аналогичный диалог:
![enter image description here]()
Ответ 3
Это кнопки UP/DOWN
![enter image description here]()
Ответ 4
FYI, если вы используете две оси y, номера заказов будут иметь значение только в пределах набора рядов этой оси y. Я полагаю, что по умолчанию вторичная ось-оси находится поверх первичной. Если вы хотите, чтобы серия на первичной оси была сверху, вам нужно сделать ее вторичной.
Ответ 5
См. ниже
Используйте приведенный ниже код, если вы используете 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
Ответ 6
Чтобы изменить порядок стекирования для рядов в диаграммах в Excel для Mac 2011:
- выберите диаграмму,
- выберите серию (проще всего в разделе "Лента" > "Макет диаграммы" > "Текущий выбор" ),
- выберите "Макет диаграммы" > "Выбор формата" или "Меню" > "Формат" > "Серия данных...",
- во всплывающем меню Формат серии данных нажмите "Заказ", затем выберите отдельные серии и нажмите кнопки Переместить вверх или Переместить вниз, чтобы настроить порядок укладки в оси для серии предметов, Это изменяет порядок для сюжета и легенды, но не может изменить номер заказа в формуле Series.
У меня был график трех серий на вторичной оси, и серия, которую я хотел сверху, застряла на дне вопреки кнопкам Переместить вверх и Переместить вниз, Это было отформатировано только как маркеры. Я вставил строку, и престо (!), Я мог бы изменить свой порядок в сюжете. Позже я мог удалить линию, и иногда ее все равно можно было заказать, но иногда нет.
Ответ 7
Чтобы изменить последовательность рядов в Excel 2010:
- Выберите (щелкните) любую серию данных и перейдите на вкладку "Дизайн" в группе "Инструменты диаграммы".
- Нажмите "Выбрать данные" в группе "Данные" и во всплывающем окне выделите серию, которую нужно переместить.
- Нажмите верхний или нижний треугольник в верхней части левого поля с надписью "Legend Entries" (Series).
Ответ 8
Эта функция получает имена серий, помещает их в массив, сортирует массив и на основе этого определяет порядок построения, который даст желаемый результат.
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
Ответ 9
Excel 2010 - если вы хотите изменить порядок рядов на сводной диаграмме :
- перейдите в свою основную сводную таблицу
- щелкните правой кнопкой мыши по одной из ярлыков столбцов для серии, которую вы хотите настроить (обратите внимание: вам нужно щелкнуть по одному из заголовков серий (например, "суббота" или "воскресенье" в примере, показанном ниже), а не сам текст "Этикетки столбцов" )
- во всплывающем меню, наведите указатель мыши на "Переместить", а затем выберите параметр из результирующего подменю, чтобы переместить переменную серии.
- ваша сводная диаграмма обновит себя соответственно.
![введите описание изображения здесь]()