KutoolsforOffice — Eén oplossing, vijf krachtige tools.Meer bereiken met minder moeite.

Hoe rangschikt u eenvoudig getallen in Excel en slaat u lege cellen automatisch over?

AuteurSun Wijzigingsdatum

Bij het werken met gegevens in Excel komt het vaak voor dat u lijsten tegenkomt met lege cellen. Als u standaard Excel-rangschikkingsfuncties zoals RANG of RANG.GELIJK op dergelijke lijsten gebruikt, tonen de lege cellen meestal foutmeldingen of ongewenste resultaten in de rangschikkingsuitvoer. Hierdoor worden uw gegevens moeilijker te interpreteren, vooral als u lege cellen juist leeg wilt laten in plaats van foutwaarden of willekeurige rangnummers te tonen. Getallen efficiënt rangschikken terwijl lege cellen automatisch leeg blijven, verhoogt de duidelijkheid en bruikbaarheid van uw resultaten en maakt uw werkblad professioneler en beter leesbaar.

Een schermafbeelding met een lijst van waarden gerangschikt met overgeslagen lege cellen

In dit artikel vindt u stapsgewijze instructies voor het gebruik van formules en VBA-macro’s om deze taak uit te voeren, inclusief gedetailleerde uitleg van parameters, praktische tips en handige suggesties voor probleemoplossing om veelvoorkomende valkuilen te omzeilen.


pijl blauw rechts bubbel Rangschik waarden terwijl lege cellen worden overgeslagen in oplopende volgorde met behulp van formules

In situaties waarin u rangnummers in oplopende volgorde moet toewijzen maar lege cellen wilt negeren, is een veelgebruikte aanpak het gebruik van meerdere hulpkolommen en formulelogica om ervoor te zorgen dat lege waarden buiten beschouwing blijven bij het rangschikken.

Toepasselijk scenario: Gebruik deze methode wanneer u incrementele (van laag naar hoog) rangnummers wilt genereren, terwijl de positie van lege cellen behouden blijft—vooral in een continu bereik waar ontbrekende gegevens geen invloed mogen hebben op de rangnummering.

Volg deze stappen voor een oplopende rangschikking terwijl lege cellen worden overgeslagen; hiervoor zijn twee hulpkolommen nodig om het resultaat op te bouwen:

1. Selecteer een lege cel naast uw waarden – bijvoorbeeld cel B2 als uw lijst begint bij A2 – en voer de volgende formule in:

=IF(ISBLANK($A2),"",VALUE($A2&"."&(ROW()-ROW($B$2))))

De formule retourneert een lege cel als A2 leeg is; anders genereert deze decimale getallen op basis van de waarde in A2, zoals .0, .1, .2, .3, enzovoort, naarmate u de vulgreep naar beneden sleept om de formule naar alle rijen met gegevens te kopiëren.

Een schermafbeelding van de formule om waarden te rangschikken terwijl lege cellen worden overgeslagen in Excel

Uitleg van parameters en tips:

  • $A2: De eerste cel die gesorteerd moet worden. Pas dit aan als uw lijst op een andere rij begint.
  • $B$2: De cel waarin u deze formule invoert. Let op de absolute verwijzingen (bijv. $A$2 en $B$2) om te garanderen dat de formule correct blijft werken wanneer u deze naar beneden kopieert.

2. Voer in de volgende kolom, bijvoorbeeld C2, de volgende formule in om een gesorteerde lijst van hulpwaarden te genereren:

=SMALL($B$2:$B$8,ROW()-ROW($C$1))

Deze formule haalt achtereenvolgens de kleinste, daarna de op één na kleinste en vervolgens de volgende waarden uit B2:B8 (let op: pas het bereik aan als uw gegevens verder reiken) terwijl u de formule naar beneden kopieert.

Een schermafbeelding van de KLEINE-formule toegepast om waarden te rangschikken in Excel

Uitleg van parameters:

  • $B$2:$B$8: Het bereik waarin de eerdere (eerste) hulpformule wordt gebruikt.
  • $C$1: De cel direct boven de plek waar u de formule invoert; deze offset bepaalt de rangschikkingsvolgorde.

3. Voer in cel D2 de volgende formule in om rangnummers toe te wijzen, terwijl lege cellen onaangeroerd blijven:

=IFERROR(MATCH($B2,$C$2:$C$8,0),"")

Deze formule zoekt de waarde in B2 op in de gesorteerde resultaten in C2:C8. Als er een overeenkomst is, wordt het rangnummer weergegeven; zo niet (bijvoorbeeld bij lege cellen), dan blijft de cel leeg. Sleep de vulgreep naar beneden om dit toe te passen op alle relevante rijen.

Een schermafbeelding van de VERGELIJKEN-formule om een rang te genereren terwijl lege cellen worden genegeerd

Parameters:

  • $B2: De cel met de hulpwaarde die wordt gebruikt voor het rangschikken.
  • $C$2:$C$8: Het bereik met gesorteerde hulpwaarden.

Voorzorgsmaatregelen: Als u gegevens toevoegt of verwijdert, vergeet dan niet om alle bereiken in elke formule bij te werken, zodat deze overeenkomen met de nieuwe omvang van uw gegevens. Overweeg voor zeer grote lijsten het gebruik van dynamische bereiken of Excel-tabellen om handmatige aanpassingen van bereiken tot een minimum te beperken.

Probleemoplossing: Als rangnummers ontbreken of niet op de juiste plek staan, controleer dan of alle bereikberekeningen van hulpformules correct zijn uitgelijnd. Een verkeerde uitlijning tussen kolommen leidt tot onjuiste rangnummers of onbedoelde fouten.


pijl blauw rechts bubbel Rangschik waarden terwijl lege cellen worden overgeslagen in aflopende volgorde met behulp van een formule

Wanneer u rangnummers wilt toewijzen in aflopende volgorde — waarbij de hoogste waarde rang 1 krijgt — is er een snellere methode met slechts één formule. Dit is vooral handig bij toetsresultaten, verkoopdoelstellingen en vergelijkbare datasets waar lege cellen ontbrekende of niet-beschikbare gegevens vertegenwoordigen, en u niet wilt dat deze rangposities innemen of foutmeldingen genereren.

Selecteer een cel op dezelfde rij als de eerste gegevensvermelding, waar u het resultaat wilt weergeven, en voer het volgende in:

=IF(ISNA(RANK(A2,A$2:A$8)),"",RANK(A2,A$2:A$8))

Nadat u de formule hebt ingevoerd, gebruikt u de vulgreep om deze naar beneden te kopiëren langs uw gegevens. De formule controleert of de RANG-functie een fout retourneert (bijvoorbeeld wanneer)A2 leeg is); in dat geval blijft het resultaat leeg in plaats van „#N/B” weer te geven. Bevat de cel een geldige waarde, dan wordt het juiste rangnummer weergegeven.

Een schermafbeelding die laat zien hoe getallen in aflopende volgorde worden gerangschikt terwijl lege cellen worden genegeerd

Parameters:

  • A2: De cel die gesorteerd moet worden (pas dit aan aan uw gegevensbereik).
  • A$2:A$8: Het volledige bereik van uw gegevens (gebruik absolute verwijzingen om probleemloos te kopiëren).

Foutmeldingen: Als u nog steeds „#N/B”-fouten ziet, controleer dan of de formuleverwijzingen overeenkomen met uw beoogde gegevensbereik en of er geen niet-numerieke waarden staan in de cellen die worden gesorteerd.


pijl blauw rechts bubbel Rangschik waarden terwijl lege cellen worden overgeslagen met VBA

Voor gebruikers die bekend zijn met macro’s en het sorteren van een bereik met lege cellen – zowel oplopend als aflopend – kan een aangepaste VBA-macro het proces aanzienlijk vereenvoudigen door de noodzaak van meerdere hulpkolommen en voortdurend formuleonderhoud te elimineren.

Hoe te gebruiken:

1. Ga naar het tabblad Ontwikkelaar en klik op Visual Basic om de editor Microsoft Visual Basic for Applications te openen. Als het tabblad Ontwikkelaar niet zichtbaar is, raadpleeg dan deze handleiding: Het tabblad Ontwikkelaar weergeven in Excel.

2. Klik in het nieuwe venster Microsoft Visual Basic for Applications op Invoegen > Module en plak een van de volgende codes in het modulevenster:

  • Voor een oplopende rangschikking terwijl lege cellen worden overgeslagen:
    Sub RankSkipBlank_Ascending()
        Dim WorkRng As Range
        Dim Cell As Range
        Dim NumArr() As Double
        Dim Ws As Worksheet
        Dim OutputCell As Range
        Dim i As Long, j As Long
        
        On Error Resume Next
        xTitleId = "KutoolsforExcel"
        
        Set WorkRng = Application.Selection
        Set WorkRng = Application.InputBox("Please select the range to rank", xTitleId, WorkRng.Address, Type:=8)
        Set Ws = WorkRng.Worksheet
        
        Set OutputCell = Application.InputBox("Please select the first cell to output the ascending ranking", xTitleId, Type:=8)
        If OutputCell Is Nothing Then Exit Sub
        
        j = 0
        ReDim NumArr(1 To WorkRng.Rows.Count)
        
        For Each Cell In WorkRng
            If IsNumeric(Cell.Value) And Not IsEmpty(Cell.Value) Then
                j = j + 1
                NumArr(j) = Cell.Value
            End If
        Next Cell
        
        Dim temp As Double
        Dim k As Long
        
        For i = 1 To j - 1
            For k = i + 1 To j
                If NumArr(i) > NumArr(k) Then    ' ← CHANGE HERE
                    temp = NumArr(i)
                    NumArr(i) = NumArr(k)
                    NumArr(k) = temp
                End If
            Next k
        Next i
        
        Dim RankArr() As Double
        ReDim RankArr(1 To j)
        For i = 1 To j
            RankArr(i) = NumArr(i)
        Next i
        
        Dim RankValue As Long
        Dim r As Long: r = 0
        
        For Each Cell In WorkRng
            r = r + 1
            If IsNumeric(Cell.Value) And Not IsEmpty(Cell.Value) Then
                RankValue = 0
                For k = 1 To j
                    If Cell.Value = RankArr(k) Then
                        RankValue = k        ' 1 = smallest
                        Exit For
                    End If
                Next k
                OutputCell.Offset(r - 1, 0).Value = RankValue
            Else
                OutputCell.Offset(r - 1, 0).Value = ""
            End If
        Next Cell
    
    End Sub
  • Voor een aflopende rangschikking terwijl lege cellen worden overgeslagen:
    Sub RankSkipBlank_Descending()
        Dim WorkRng As Range
        Dim Cell As Range
        Dim NumArr() As Double
        Dim Ws As Worksheet
        Dim OutputCell As Range
        Dim i As Long, j As Long
        
        On Error Resume Next
        xTitleId = "KutoolsforExcel"
        
        Set WorkRng = Application.Selection
        Set WorkRng = Application.InputBox("Please select the range to rank", xTitleId, WorkRng.Address, Type:=8)
        Set Ws = WorkRng.Worksheet
        
        Set OutputCell = Application.InputBox("Please select the first cell to output the descending ranking", xTitleId, Type:=8)
        If OutputCell Is Nothing Then Exit Sub
        
        j = 0
        ReDim NumArr(1 To WorkRng.Rows.Count)
        
        For Each Cell In WorkRng
            If IsNumeric(Cell.Value) And Not IsEmpty(Cell.Value) Then
                j = j + 1
                NumArr(j) = Cell.Value
            End If
        Next Cell
        
        Dim temp As Double
        Dim k As Long
        
        For i = 1 To j - 1
            For k = i + 1 To j
                If NumArr(i) < NumArr(k) Then
                    temp = NumArr(i)
                    NumArr(i) = NumArr(k)
                    NumArr(k) = temp
                End If
            Next k
        Next i
        
        Dim RankArr() As Double
        ReDim RankArr(1 To j)
        For i = 1 To j
            RankArr(i) = NumArr(i)
        Next i
        
        Dim RankValue As Long
        Dim r As Long: r = 0
    
        For Each Cell In WorkRng
            r = r + 1
            If IsNumeric(Cell.Value) And Not IsEmpty(Cell.Value) Then
                RankValue = 0
                For k = 1 To j
                    If Cell.Value = RankArr(k) Then
                        RankValue = k
                        Exit For
                    End If
                Next k
                OutputCell.Offset(r - 1, 0).Value = RankValue
            Else
                OutputCell.Offset(r - 1, 0).Value = ""
            End If
        Next Cell
    
    End Sub

3. Druk op F5 om de macro uit te voeren. Eerst verschijnt een dialoogvenster waarin u het bereik kunt selecteren dat u wilt rangschikken. Vervolgens verschijnt een tweede dialoogvenster waarin u de eerste cel kiest waar de rangschikkingsresultaten moeten worden geplaatst. De macro genereert dan de rangnummers vanaf de door u geselecteerde cel, en eventuele lege cellen in het bronbereik blijven leeg.

Tips:

  • Als er niets gebeurt, controleer dan of macro’s zijn ingeschakeld en of u toestemming hebt om code uit te voeren in uw werkmap.
  • Het uitvoeren van een VBA-macro kan niet ongedaan worden gemaakt. Maak daarom altijd eerst een kopie of back-up van uw gegevens voordat u de macro uitvoert.

Beste Office-productiviteitshulpmiddelen

🤖KUTOOLS AI Assistant: Revolutioneer Data-analyse op basis van:Intelligente uitvoering   |  Genereer code|  Maak aangepaste formules  |  Analyseer gegevens en genereer grafieken|  Roep Verbeterde functies aan
Populaire functies:Zoeken, markeren of Dubbele waarden markeren   |  Verwijder lege rijen   |  Kolommen samenvoegen of cellen zonder gegevensverlies   |   Afronden zonder formule...
Super ZOEKEN:VLookup met meerdere criteria  |  VLookup met meerdere waarden  |   VLookup over meerdere werkbladen   |   Fuzzy Match....
Geavanceerde keuzelijst:Snel een keuzelijst maken   |  Afhankelijke keuzelijst   |  Keuzelijst met meervoudige selectie....
Kolombeheerder:Voeg een specifiek aantal kolommen toe|Verplaats kolommen|Wissel zichtbaarheidsstatus van verborgen kolommen|Vergelijk bereiken en kolommen...
Uitgelichte functies:Rasterfocus   |  Ontwerpweergave   |Verbeterde formulebalk   | Werkmap- en bladbeheerder   |  Bronnenbibliotheek(Automatische tekst)|  Datumkiezer   |  Werkbladen samenvoegen  |  Versleutelen/Cellen decoderen   | E-mails verzenden op basis van lijst   |  Superfilter   |   Speciaal filter(Filter cellen met vetgedrukt lettertype/cursief/doorgestreept...) ...
Top 15 gereedschapssets:12 Teksthulpmiddelen(Tekst toevoegen,Specifieke tekens verwijderen, ...)|   50+Grafiektypen(Gantt-diagram, ...)|   40+ Praktische formules(Leeftijd berekenen op basis van geboortedatum, ...)|   19 Invoeghulpmiddelen(QR-code Invoegen,Afbeelding invoegen vanaf pad, ...)|   12 Conversiehulpmiddelen(Omzetten naar woorden,Wisselkoersconversie, ...)|   7 Samenvoegen en splitsenhulpmiddelen(Geavanceerd samenvoegen van rijen,Cellen splitsen, ...)|... en meer
Gebruik Kutools in uw voorkeurstaal – ondersteunt Engels, Spaans, Duits, Frans, Chinees en 40+ andere talen!

Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie zoals nooit tevoren.Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en Tijd besparen.Klik hier om de functie te krijgen die u het meest nodig heeft...


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

  • Schakel tabbladbewerking en -lezen in voor Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten aan in nieuwe tabbladen binnen hetzelfde venster, in plaats van in afzonderlijke vensters.
  • Verhoogt uw productiviteit met 50 % en bespaart u dagelijks honderden muisklikken!

Alle Kutools-add-ins in één installatieprogramma.

Kutools for Office bundelt add-ins voor Excel, Word, Outlook en PowerPoint, plus Office Tab Pro—ideaal voor teams die met meerdere Office-apps werken.

ExcelWordOutlookTabsPowerPoint
  • Alles-in-één suite— add-ins voor Excel, Word, Outlook & PowerPoint plus Office Tab Pro
  • Één installatieprogramma, één licentie— binnen enkele minuten klaar (MSI-geschikt)
  • Werkt beter samen— gestroomlijnde productiviteit in alle Office-apps
  • 30 dagen volledig functionele proefversie— geen registratie, geen creditcard
  • Beste prijs-kwaliteitverhouding— bespaar ten opzichte van het afzonderlijk kopen van add-ins