webentwicklung-frage-antwort-db.com.de

Neuordnen von Diagrammdatenreihen in Excel

Wie ordnet man Serien neu an, um ein Diagramm in Excel zu erstellen?

Zum Beispiel gehe ich zum Diagramm, klicke mit der rechten Maustaste> Daten auswählen. In der linken Spalte sehe ich Serie 1, Serie 2, ..., Serie n. Angenommen, ich möchte Serie 3 nach Serie 4 verschieben. Kann dies in der Diagrammansicht erfolgen? Ich möchte die Datenzellen im Arbeitsblatt nicht verschieben.

Ich verwende Excel 2011 (Mac OS X).

39
KM.

Wählen Sie eine Serie aus und sehen Sie in der Bearbeitungsleiste nach. Das letzte Argument ist die Plotreihenfolge der Serie. Sie können diese Formel wie jede andere Formel direkt in der Bearbeitungsleiste bearbeiten.

Wählen Sie beispielsweise Serie 4 aus und ändern Sie die 4 in eine 3.

65
Jon Peltier

Klicken Sie mit der rechten Maustaste auf eine beliebige Reihe im Diagramm. Im Dialogfeld "Datenreihe formatieren" befindet sich eine Registerkarte "Reihenreihenfolge", in der Sie Reihen nach oben und unten verschieben können. Ich finde das viel einfacher als mit dem letzten Argument der Reihenformel herumzuspielen.

Dies ist in Excel 2003 in Windows. In Excel 2011 für Mac gibt es einen ähnlichen Dialog:

enter image description here

Dies sind die Tasten AUF/AB

enter image description here

21
Dr. belisarius

Siehe unten

Verwenden Sie den folgenden Code, wenn Sie Excel 2007 oder 2010 verwenden und nur die Legenden neu anordnen möchten. Stellen Sie sicher, dass mChartName mit Ihrem Diagrammnamen übereinstimmt.

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
4
Hakan

Excel 2010 - Wenn Sie die Reihe in einem Pivot-Diagramm neu anordnen möchten :

  • gehen Sie zu Ihrer zugrunde liegenden Pivot-Tabelle
  • klicken Sie mit der rechten Maustaste auf eine der Spaltenbezeichnungen für die Reihe, die Sie anpassen möchten (Hinweis: Sie müssen auf eine der Reihenüberschriften (dh 'Samstag' oder 'Sonntag' im unten gezeigten Beispiel) klicken, nicht auf die 'Spalte' Beschriftungstext selbst)
  • bewegen Sie den Mauszeiger im Popup-Menü über "Verschieben" und wählen Sie eine Option aus dem daraufhin angezeigten Untermenü aus, um die Serienvariable neu zu positionieren.
  • ihr Pivot-Chart wird sich entsprechend aktualisieren

enter image description here

3
Jon295087

So ändern Sie die Stapelreihenfolge für Serien in Diagrammen unter Excel für Mac 2011:

  1. wähle das Diagramm aus.
  2. wählen Sie die Serie aus (am einfachsten unter Multifunktionsleiste> Diagrammlayout> Aktuelle Auswahl).
  3. klicken Sie auf Diagrammlayout> Formatauswahl oder auf Menü> Format> Datenreihe….
  4. klicken Sie im Popup-Menü "Datenreihe formatieren" auf "Reihenfolge" und dann auf "Einzelne Serie" und klicken Sie auf die Schaltflächen "Nach oben" oder "Nach unten", um die Stapelreihenfolge auf der Achse für die Motivserie anzupassen. Hierdurch wird die Reihenfolge für das Diagramm und für die Legende geändert, die Ordnungsnummer in der Serienformel wird jedoch möglicherweise nicht geändert.

Ich hatte ein Drei-Serien-Diagramm auf der Sekundärachse, und die Serie, die ich oben haben wollte, klebte trotz der Schaltflächen Nach oben und Nach unten unten. Es war zufällig nur als Marker formatiert. Ich habe eine Linie eingefügt und vor (!) Konnte ich die Reihenfolge in der Handlung ändern. Später konnte ich die Leitung entfernen und manchmal konnte sie noch bestellt werden, aber manchmal nicht.

3
Jeff Glassman

Zu Ihrer Information, wenn Sie zwei y-Achsen verwenden, werden die Ordnungsnummern nur innerhalb des Satzes von Reihen dieser y-Achse einen Unterschied machen. Ich glaube, dass die sekundäre Achse standardmäßig über der primären Achse liegt. Wenn Sie möchten, dass die Reihe auf der Primärachse oben liegt, müssen Sie sie stattdessen sekundär machen.

3
omikun

So ändern Sie die Reihenfolge einer Reihe in Excel 2010:

  • Wählen Sie eine Datenreihe aus (klicken Sie darauf) und klicken Sie in der Gruppe "Diagrammtools" auf die Registerkarte "Entwurf".
  • Klicken Sie in der Gruppe "Daten" auf "Daten auswählen" und markieren Sie im Popup-Fenster die zu verschiebende Serie.
  • Klicken Sie oben im linken Feld auf das obere oder untere Dreieck mit der Bezeichnung "Legendeneinträge" (Serie).
2
Helper

Diese Funktion ruft die Seriennamen ab, fügt sie in ein Array ein, sortiert das Array und definiert darauf basierend die Darstellungsreihenfolge, die die gewünschte Ausgabe ergibt.

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
1
M--