Wie sortiert man Werte in Excel nach Gruppen?
Beim Arbeiten mit gruppierten Daten in Excel müssen Werte häufig innerhalb jeder Gruppe verglichen werden – etwa Umsatzzahlen nach Region, Testergebnisse nach Klasse oder Transaktionsbeträge nach Kategorie. Obwohl Excel leistungsstarke Rangfunktionen bietet, erfordert das Rangieren innerhalb von Gruppen (auch „gruppenweises“ oder „bedingtes Rangieren“ genannt) eine spezielle Vorgehensweise. Das ist besonders wertvoll, wenn Sie Leistungen bewerten oder die besten und schwächsten Datensätze einzelner Kategorien identifizieren möchten – ohne Ergebnisse zwischen den Gruppen zu vermischen. Die folgenden Methoden liefern praxiserprobte Lösungen für das gruppenbasierte Rangieren und machen so die präzise Interpretation und Analyse Ihrer Daten im Alltag deutlich einfacher.
Werte nach Gruppen rangieren
VBA-Code – Verwenden Sie ein Makro, um das Rangieren von Werten innerhalb jeder Gruppe zu automatisieren
Werte nach Gruppen rangieren
In Situationen, in denen Sie Werte innerhalb unterschiedlicher Gruppen rangieren müssen – etwa Schülerleistungen nach Klasse oder Umsätze nach Region – bietet Excel zwar keine direkte „Rangieren-nach-Gruppe“-Funktion. Mit einer sorgfältig erstellten Formel lässt sich das gruppenweise Rangieren jedoch effizient und ohne zusätzliche Datenmanipulation umsetzen.
Hierzu können Sie eine Arrayformel verwenden, die logische Prüfungen mit Aggregatsfunktionen verbindet. So vergleichen Sie jeden Wert ausschließlich innerhalb seiner zugewiesenen Gruppe und ermitteln präzise den erforderlichen Rang jedes Datenpunkts.
Gehen Sie dazu wie folgt vor:
- Bereiten Sie Ihre gruppierten Daten in Spalten vor – zum Beispiel Gruppe (A2:A11) und Wert (B2:B11).
- Wählen Sie eine leere Zelle neben Ihren Daten aus – in der Regel in der ersten Zeile neben Ihren Werten, beispielsweise Zelle C2.
- Geben Sie die folgende Formel ein:
=SUMPRODUCT(($A$2:$A$11=A2)*(B2<$B$2:$B$11))+1 Diese Formel funktioniert, indem sie zählt, wie viele Werte innerhalb derselben Gruppe kleiner als der aktuelle Wert sind. Folgendes bedeuten die einzelnen Parameter:
- ($A$2:$A$11=A2)
→ Prüft, ob jede Zelle im Bereich A2:A11 dem Wert in A2 entspricht.
→ Gibt ein Array mit WAHR/FALSCH-Werten (bzw. 1/0) zurück, das anzeigt, ob jede Zeile derselben Gruppe wie A2 angehört. - (B2<$B$2:$B$11)
→ Dies prüft, wie viele Werte in B2:B11 größer als B2 sind.
→ Es gibt WAHR (1) zurück, wenn B2 kleiner als ein bestimmter Wert ist, andernfalls FALSCH (0). - * (Multiplikation)
→ Dies verknüpft die beiden Bedingungen: - Gruppenübereinstimmung (A2)
Wert in B2 ist kleiner als andere
→ Es werden daher nur Zeilen gezählt, die derselben Gruppe angehören und einen kleineren Wert aufweisen. - SUMMENPRODUKT(...)
→ Addiert die Anzahl der Zeilen, die beide Bedingungen erfüllen. - +1
→ Die Ränge beginnen bei 1 (statt bei 0), daher addieren wir 1 zur Anzahl der kleineren Werte.
Sobald Sie die Formel in C2 eingegeben haben, ziehen Sie am Ausfüllkästchen nach unten, um sie auf alle relevanten Zeilen Ihres Datensatzes zu übertragen. Die Formel passt sich automatisch an die jeweilige Gruppe und den zugehörigen Wert jeder Zeile an und liefert so den Rang innerhalb dieser Gruppe zurück.
Tipps und Hinweise:
- Wenn Ihr Bereich groß ist, passen Sie die Zellbezüge entsprechend an.
- Für Ränge in absteigender Reihenfolge (z. B. höchster Wert erhält den Rang 1) ändern Sie den Formelvergleich von
B2<$B$2:$B$11zuB2>$B$2:$B$11. - Um doppelte Werte korrekt zu berücksichtigen, weist diese Formel identischen Werten innerhalb derselben Gruppe denselben Rang zu. Sollten Sie jedoch fortlaufende, eindeutige Ränge benötigen, empfiehlt sich der Einsatz zusätzlicher Hilfsspalten.
Diese formelbasierte Methode ist flexibel und lässt sich nahtlos auf die meisten gruppierten Tabellenstrukturen in Excel anwenden. Bei sehr großen Datensätzen kann sich jedoch die Berechnungsleistung aufgrund der Abhängigkeit von Array-Logik verlangsamen.
VBA-Code – Verwenden Sie ein Makro, um das Rangieren von Werten innerhalb jeder Gruppe zu automatisieren
Für Anwender, die den Rangiervorgang automatisieren oder größere Datensätze effizienter verarbeiten möchten, bietet das Erstellen eines VBA-Makros eine äußerst wertvolle Lösung. Makros automatisieren repetitive Schritte, ermöglichen umfassendere Anpassungen und verarbeiten Daten deutlich schneller als komplexe Formeln – ideal für Szenarien wie die automatisierte Berichtserstellung, wiederkehrende Rangaufgaben oder zur Vermeidung von Formelüberladung in Ihrem Arbeitsblatt.
Bevor Sie fortfahren, sichern Sie Ihre Arbeit und aktivieren Sie Makros in Ihren Excel-Einstellungen – so können Sie diese Lösung programmieren und ausführen:
- Drücken Sie Alt + F11, um den VBA-Editor zu öffnen. Klicken Sie im erscheinenden Fenster „Microsoft Visual Basic für Applikationen“ auf Einfügen > Modul, und fügen Sie dann den folgenden Code in das geöffnete Modul ein:
Sub RankValuesByGroup()
Dim DataRange As Range
Dim GroupRng As Range
Dim ValueRng As Range
Dim OutCol As Range
Dim dictGroups As Object
Dim arrValues, arrRanks
Dim i As Long, j As Long
Dim GroupKey As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set DataRange = Application.InputBox("Select the data table range (including group and value columns)", xTitleId, Selection.Address, Type:=8)
If DataRange Is Nothing Then Exit Sub
Set GroupRng = Application.InputBox("Select the group column within your range", xTitleId, DataRange.Columns(1).Address, Type:=8)
Set ValueRng = Application.InputBox("Select the value column to rank within your range", xTitleId, DataRange.Columns(2).Address, Type:=8)
Set OutCol = DataRange.Offset(0, DataRange.Columns.Count).Resize(DataRange.Rows.Count, 1)
OutCol.Cells(1).Value = "RankByGroup"
Set dictGroups = CreateObject("Scripting.Dictionary")
arrValues = ValueRng.Value
arrRanks = ValueRng.Value
' Build group dictionaries for ranking
For i = 2 To UBound(arrValues, 1)
GroupKey = GroupRng.Cells(i, 1).Value
If Not dictGroups.Exists(GroupKey) Then
dictGroups.Add GroupKey, CreateObject("System.Collections.ArrayList")
End If
dictGroups(GroupKey).Add arrValues(i, 1)
Next i
' Rank within each group
For i = 2 To UBound(arrValues, 1)
GroupKey = GroupRng.Cells(i, 1).Value
Dim countLower As Long
countLower = 0
For j = 0 To dictGroups(GroupKey).Count - 1
If dictGroups(GroupKey)(j) < arrValues(i, 1) Then
countLower = countLower + 1
End If
Next j
arrRanks(i, 1) = countLower + 1
Next i
' Output results
For i = 2 To UBound(arrRanks, 1)
OutCol.Cells(i, 1).Value = arrRanks(i, 1)
Next i
MsgBox "Ranking by group completed.", vbInformation, xTitleId
End Sub - Klicken Sie auf Ausführen. Anschließend erscheint ein Dialogfeld, in dem Sie Ihren vollständigen Datenbereich, die Gruppenspalte und die Wertsäule auswählen müssen. Das Makro erstellt daraufhin eine neue Spalte mit den Rängen jedes Werts innerhalb seiner Gruppe.
Hinweise und Fehlerbehebung:
- Stellen Sie sicher, dass Ihre Spaltenauswahl Ihren Daten entspricht: Gruppen- und Wertsäulen müssen korrekt zugeordnet sein.
- Falls Ihre Daten eine Überschriftszeile enthalten, passen Sie den Startindex der Schleife im Code entsprechend Ihrer Datenstruktur an, um eine korrekte Rangbildung zu gewährleisten.
- Um absteigende Ränge zu erhalten, passen Sie den Vergleich
If dictGroups(GroupKey)(j) < arrValues(i,1)entsprechend an. - Falls Sie Berechtigungs- oder Makrosicherheitshinweise erhalten, überprüfen Sie die Makrosicherheitseinstellungen in Excel unter Datei > Optionen > Vertrauensstellungscenter.
Diese VBA-Methode bietet Flexibilität und robuste Leistung für anspruchsvollere oder umfangreichere Anwendungen – besonders, wenn sie in automatisierte Reporting-Workflows integriert wird.

Entfesseln Sie die Magie von Excel mit KUTOOLS AI
- Intelligente Ausführung: Führen Sie Zelloperationen durch, analysieren Sie Daten und erstellen Sie Diagramme – alles ganz einfach per Sprachbefehl.
- Benutzerdefinierte Formeln: Erstellen Sie maßgeschneiderte Formeln, um Ihre Arbeitsabläufe optimal zu optimieren.
- VBA-Programmierung: Schreiben und implementieren Sie VBA-Code ganz mühelos.
- Formelinterpretation: Verstehen Sie komplexe Formeln spielend leicht.
- Textübersetzung: Überwinden Sie Sprachbarrieren direkt in Ihren Tabellenkalkulationen.
Beste Office-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor.Kutools für Excel bietet über 300 erweiterte Funktionen zur Steigerung der Produktivität und Zeit sparen.Klicken Sie hier, um die Funktion zu erhalten, die Sie am dringendsten benötigen...
Office Tab bringt eine tabbasierte Oberfläche in Office und macht Ihre Arbeit viel einfacher
- Aktivieren Sie tabbasiertes Bearbeiten und Lesen in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters – statt jedes in einem separaten Fenster zu öffnen.
- Steigert Ihre Produktivität um 50 % und erspart Ihnen täglich Hunderte von Mausklicks!
Alle Kutools-Add-Ins – ein Installationsprogramm
Kutools for Office-Paket bündelt Add-Ins für Excel, Word, Outlook und PowerPoint sowie Office Tab Pro – ideal für Teams, die mit mehreren Office-Anwendungen arbeiten.
- Alles-in-einem-Paket— Add-Ins für Excel, Word, Outlook & PowerPoint sowie Office Tab Pro
- Ein Installationsprogramm, eine Lizenz— innerhalb weniger Minuten eingerichtet (MSI-fähig)
- Funktioniert besser zusammen— optimierte Produktivität über alle Office-Anwendungen hinweg
- 30-tägige Vollversion zum Testen— keine Registrierung, keine Kreditkarte erforderlich
- Bestes Preis-Leistungs-Verhältnis— sparen Sie im Vergleich zum Kauf einzelner Add-Ins