2011-03-01 22 views
37

¿Cómo se puede reordenar una serie para crear un gráfico en Excel?Reordenamiento de series de datos de gráficos en Excel

Por ejemplo, voy a la tabla, haga clic con el botón derecho> Seleccionar datos. En la columna de la izquierda veo series 1, serie 2, ..., serie n. Diga, quiero mover la serie 3 después de la serie 4, ¿se puede hacer desde la vista de gráfico? No quiero mover las celdas de datos en la hoja de trabajo.

Estoy usando Excel 2011 (mac os x).

+0

como lo pidió (antes de que yo edité), el lugar apropiado para este tipo de pregunta es super usuario, ya que no se trata de código. –

Respuesta

62

seleccionar una serie y mirar en la barra de fórmulas. El último argumento es el orden de la trama de la serie. Puede editar esta fórmula como cualquier otra, directamente en la barra de fórmulas.

Por ejemplo, seleccione la serie 4, a continuación, cambiar el 4 a 3.

un
+1

¡Agradable! Excepto que si tienes una serie "n", no puedes ir a n + 1; Excel te mantiene en "n". Mi gráfico de barras tiene pares de columnas con un espacio, y no puedo agregar un espacio b/n a los dos últimos pares de pares usando esto, ¡pero esto es asombroso! ¡Gracias! –

19

Estos son los botones ARRIBA/ABAJO

enter image description here

+5

Gracias. Desafortunadamente, faltan en la versión para Mac. Suspiro. –

+1

Esto funcionó muy bien en la versión de Windows 2010. Es mucho mejor que tratar de manipular las fórmulas. En 2010, puede obtener esto haciendo clic con el botón derecho en cualquier parte del gráfico y seleccionando "Seleccionar datos". Es fácil de hacer y fácil de enseñar a otras personas en la oficina. – Nigel

38

Haga clic derecho en cualquier serie en el gráfico. En el cuadro de diálogo "Formato de serie de datos", hay una pestaña "Orden de serie", en la que puede mover series hacia arriba y hacia abajo. Encuentro esto mucho más fácil que jugar con el último argumento de la fórmula de la serie.

Esto está en Excel 2003 en Windows. Hay un diálogo similar en Excel 2011 para Mac:

enter image description here

+1

Creo que esta es una solución mejor que la respuesta aceptada. – theodorton

1

FYI, si está utilizando dos eje y el número de pedido será sólo para hacer una diferencia en el conjunto de series de ese eje y. Creo que el eje secundario y por defecto está en la parte superior del primario. Si desea que la serie en el eje principal esté en la parte superior, deberá hacerla secundaria.

+0

secundaria -y-axis por defecto están en la parte inferior de la primaria – mooseman

+1

@mooseman: estás equivocado. Al menos en Excel 2010. – Trojanian

+0

Hace 2 años, probablemente utilicé 2007 y ¿cómo me equivoco exactamente? – mooseman

2

Para cambiar la secuencia de una serie en Excel 2010:

  • Seleccione (pulse en) cualquier serie de datos y haga clic en la pestaña "Diseño" en el grupo "Herramientas de gráficos".
  • Haga clic en "Seleccionar datos" en el grupo "Datos" y en la ventana emergente, resalte la serie que se va a mover.
  • Haga clic en el triángulo hacia arriba o hacia abajo en la parte superior del cuadro de la izquierda etiquetado como "Entradas de leyenda" (Serie).
3

Véase más adelante

usar el siguiente código, Si está utilizando Excel 2007 o 2010 y desea reordenar solamente las leyendas. Asegúrese de que mChartName coincida con su nombre de gráfico.

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.00000Or 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 
3

Para cambiar el orden de apilamiento de las series en las cartas en el programa Excel para Mac 2011:

  1. seleccione el gráfico,
  2. seleccione la serie (más fácil en virtud de la cinta> Diseño del gráfico> Selección actual),
  3. haga clic en Gráfico diseño> formato a la selección o menú> Formato> serie de datos ...,
  4. en el menú emergente Formato de serie de datos, haga clic en Orden, a continuación, en series individuales y haga clic en Mover hacia arriba o Mover hacia abajo los botones para ajustar el orden de apilamiento en el eje para la serie de sujeto. Esto cambia el orden de la trama y de la leyenda, pero no puede cambiar el número de orden en la fórmula de la serie.

que tenían una parcela tres series en el eje secundario, y la serie que quería en la parte superior fue atrapado en la parte inferior en desafío a la Subir y Bajar botones. Resultó estar formateado solo como marcadores. Inserté una línea, y listo (!), Pude cambiar su orden en la trama. Más tarde pude eliminar la línea y, a veces, todavía se puede pedir, pero a veces no.

1

Esta función obtiene los nombres de las series, los pone en una matriz, ordena la matriz y en función de eso define el orden de trazado que dará el resultado deseado.

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 
+0

https://stackoverflow.com/questions/43546534/how-to-sort-legend-of-a-chart-in-vba – Masoud

1

Excel 2010 - si usted está buscando para cambiar el orden de la serie en un gráfico pivote:

  • ir a la tabla dinámica subyacente
  • haga clic derecho en una de las etiquetas de columna para la serie que desea ajustar (Nota: debe hacer clic en uno de los títulos de la serie (es decir, "Sábado" o "Domingo" en el ejemplo que se muestra a continuación), no en el texto "Etiquetas de columna")
  • en el menú emergente, desplace el cursor sobre 'Mover' d luego seleccione una opción del submenú resultante para reposicionar la variable de la serie.
  • el gráfico dinámico se actualizará en consecuencia

enter image description here

Cuestiones relacionadas