Skip to main content

Hoe waarden per groep rangschikken in Excel?

Author: Sun Last Modified: 2025-07-21

Het werken met gegroepeerde gegevens in Excel vereist vaak het vergelijken van waarden binnen elke groep, zoals de rangschikking van verkoopcijfers per regio, toetsresultaten per klas of transactiebedragen per categorie. Hoewel Excel krachtige tools biedt voor het rangschikken van gegevens, vereist het rangschikken binnen groepen (ook wel "groepsrangschikking" of "voorwaardelijke rangschikking" genoemd) een specifieke aanpak. Dit is vooral handig wanneer je prestaties wilt evalueren of top- en onderste records wilt identificeren binnen verschillende categorieën zonder de resultaten tussen groepen te mengen. De volgende methoden verkennen praktische oplossingen om waarden per groep te rangschikken, waardoor het gemakkelijker wordt om je gegevens nauwkeurig te interpreteren en analyseren in dagelijkse taken.
A screenshot showing a grouped data set with ranked values in Excel

Waarden per groep rangschikken
VBA-code - Gebruik een macro om het rangschikken van waarden binnen elke groep te automatiseren


arrow blue right bubble Waarden per groep rangschikken

In situaties waarin je waarden binnen verschillende groepen moet rangschikken, zoals het beoordelen van studenten per klas of het weergeven van verkoopcijfers per regio, heeft Excel geen directe functie voor "rangschikken per groep". Echter, een goed geformuleerde formule kan groepsrangschikking efficiënt bereiken zonder extra datamanipulatie.

Hiervoor kun je een matrixformule gebruiken die logische tests combineert met aggregatiefuncties. Deze aanpak stelt je in staat om elke waarde alleen binnen zijn aangewezen groep te vergelijken, wat de vereiste rangorde oplevert voor elk datapunt.

Volg deze stappen:

  • Organiseer je gegroepeerde gegevens in kolommen, zoals Groep (A2:A11) en Waarde (B2:B11).
  • Selecteer een lege cel naast uw gegevens – meestal in de eerste rij naast uw waarden, bijvoorbeeld cel C2.
  • Voer de volgende formule in:
=SUMPRODUCT(($A$2:$A$11=A2)*(B2<$B$2:$B$11))+1

Deze formule werkt door te tellen hoeveel waarden binnen dezelfde groep kleiner zijn dan de huidige waarde. Hier is de betekenis van elke parameter:

  • ($A$2:$A$11=A2)
    → Dit controleert of elke cel in het bereik A2:A11 gelijk is aan de waarde in A2.
    → Het retourneert een reeks WAAR/ONWAAR (of 1/0) waarden die aangeven of elke rij tot dezelfde groep behoort als A2.
  • (B2<$B$2:$B$11)
    → Dit controleert hoeveel waarden in B2:B11 groter zijn dan B2.
    → Het retourneert WAAR (1) als B2 kleiner is dan een bepaalde waarde, ONWAAR (0) anders.
  • * (Vermenigvuldiging)
    → Dit combineert de twee voorwaarden:
  • Groep komt overeen (A2)
    Waarde in B2 is kleiner dan andere
    → Dus alleen rijen die in dezelfde groep zitten en een kleinere waarde hebben, worden geteld.
  • SOMPRODUCT(...)
    → Telt het aantal rijen dat aan beide voorwaarden voldoet.
  • +1
    → Rangen beginnen bij 1 (in plaats van 0), dus we tellen 1 op bij het aantal kleinere waarden.

Zodra de formule is ingevoerd in C2, sleep de automatische vulgreep naar beneden om deze formule in te vullen voor alle relevante rijen in je dataset. De formule past zich automatisch aan om de groep en waarde van elke rij te gebruiken en retourneert de rangorde binnen die groep. A screenshot showing the Excel formula applied to rank values by group in a worksheet

Tips en voorzorgsmaatregelen:

  • Als je bereik groot is, vergeet dan niet om de celverwijzingen dienovereenkomstig bij te werken.
  • Voor rangordes in aflopende volgorde (bijvoorbeeld hoogste waarde is 1), wijzig de formulevergelijking van B2<$B$2:$B$11 in B2>$B$2:$B$11.
  • Om dubbele waarden af te handelen, wijst deze formule dezelfde rang toe aan gelijke waarden binnen dezelfde groep. Als je sequentiële unieke rangen nodig hebt, overweeg dan om extra hulptabellen te gebruiken.

Deze op formules gebaseerde methode is flexibel en kan gemakkelijk worden toegepast op de meeste gegroepeerde tabelstructuren in Excel. Echter, voor zeer grote datasets kan de berekeningsprestatie vertragen door de afhankelijkheid van matrixlogica.


VBA-code - Gebruik een macro om het rangschikken van waarden binnen elke groep te automatiseren

Voor gebruikers die het rangschikkingsproces willen automatiseren of grotere datasets efficiënter willen verwerken, kan het schrijven van een VBA-macro een waardevolle aanpak zijn. Macros kunnen herhalende stappen automatiseren, meer aanpassingen bieden en gegevens sneller verwerken in vergelijking met complexe formules. Dit is ideaal voor scenario's zoals het genereren van geplande rapporten, herhaalde rangschikkingsopdrachten of wanneer je formule-overbelasting in je werkblad wilt vermijden.

Voordat je verder gaat, zorg ervoor dat je je werk opslaat en macros inschakelt in je Excel-instellingen. Zo kun je dit script schrijven en uitvoeren:

  1. Druk op Alt + F11 om de VBA-editor te openen. Klik in het venster Microsoft Visual Basic for Applications dat verschijnt op Invoegen > Module, en plak de volgende code in de geopende module:
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
  1. Klik op Uitvoeren. Er verschijnt een dialoogvenster waarin je wordt gevraagd om je volledige databereik, groepskolom en waardekolom te selecteren. De macro genereert vervolgens een nieuwe kolom met de rangordes voor elke waarde binnen zijn groep.

Opmerkingen en probleemoplossing:

  • Zorg ervoor dat kolomselecties overeenkomen met je gegevens: de groep- en waardekolumnen moeten correct worden uitgelijnd.
  • Als de gegevenskoppen zijn opgenomen, pas dan de initiële loopindex in de code aan voor correcte rangschikking (afhankelijk van je gegevensstructuur).
  • Om in aflopende volgorde te rangschikken, wijzig de vergelijking If dictGroups(GroupKey)(j) < arrValues(i,1) dienovereenkomstig.
  • Als je toestemmings- of macrobeveiligingswaarschuwingen tegenkomt, controleer dan de Macro-beveiligingsinstellingen van Excel onder Bestand > Opties > Trust Center.

Deze VBA-methode biedt flexibiliteit en robuuste prestaties voor meer geavanceerde of opgeschaalde toepassingen, vooral wanneer deze wordt geïntegreerd met geautomatiseerde rapportageworkflows.


a screenshot of kutools for excel ai

Ontdek de Magie van Excel met Kutools AI

  • Slimme Uitvoering: Voer celbewerkingen uit, analyseer gegevens en maak diagrammen – allemaal aangestuurd door eenvoudige commando's.
  • Aangepaste Formules: Genereer op maat gemaakte formules om uw workflows te versnellen.
  • VBA-codering: Schrijf en implementeer VBA-code moeiteloos.
  • Formule-uitleg: Begrijp complexe formules gemakkelijk.
  • Tekstvertaling: Overbrug taalbarrières binnen uw spreadsheets.
Verhoog uw Excel-mogelijkheden met AI-aangedreven tools. Download Nu en ervaar een ongekende efficiëntie!

Beste Office-productiviteitstools

🤖 Kutools AI Assistent: Breng een revolutie teweeg in data-analyse Methode: Intelligente uitvoering |Code genereren |Aangepaste formules maken |Gegevens analyseren en grafieken genereren |Kutools-functies gebruiken
Populaire functies: Dubbele waarden markeren, markeren of identificeren | Verwijder lege rijen | Kolommen of cellen samenvoegen zonder gegevensverlies | Afronden ...
Super ZOEKEN: VLookup met meerdere criteria | VLookup met meerdere waarden | Meervoudig-blad opzoeken | Fuzzy Match ...
Geavanceerde keuzelijst: Snel keuzelijst maken | Afhankelijke keuzelijst | Meervoudige selectie keuzelijst ...
Kolombeheer: Specifiek aantal kolommen toevoegen | Kolommen verplaatsen | Zichtbaarheid van verborgen kolommen wisselen | Bereik & kolommen vergelijken ...
Uitgelichte functies: Rasterfocus | Ontwerpweergave | Verbeterde formulebalk | Werkboek- & Werkbladbeheer | AutoTekstbibliotheek | Datumkiezer | Gegevens samenvoegen | Cellen coderen/decoderen | E-mail verzenden per lijst | Superfilter | Speciaal filter (filter cellen met vetgedrukt/cursief/doorhalen...) ...
Top15 toolsets:12 Teksttools (Tekst toevoegen, Specifieke tekens verwijderen, ...) |50+ Grafiek type (Gantt-diagram, ...) |40+ Praktische formules (Leeftijd berekenen op basis van geboortedatum, ...) |19 Invoegtools (QR-code invoegen, Afbeelding invoegen vanaf pad, ...) | 12 Conversietools (Omzetten naar woorden, Valutaconversie, ...) | 7 Samenvoeg- & Opsplitstools (Geavanceerd samenvoegen van rijen, Cellen splitsen, ...) | ... en meer

Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...


Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
  • Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!