Inhoudsopgave
In dit artikel bekijken we verschillende manieren om datums te sorteren in Excel. U leert hoe u datums snel in chronologische volgorde kunt rangschikken, kunt sorteren op maand die jaren negeert, verjaardagen kunt sorteren op maand en dag, en hoe u automatisch kunt sorteren op datum wanneer u nieuwe waarden invoert.
De ingebouwde sorteeropties van Excel zijn krachtige en effectieve hulpmiddelen, maar ze werken niet altijd goed als het gaat om het sorteren van datums. In deze handleiding leert u een paar handige trucs om Excel op een zinvolle manier op datum te ordenen zonder uw gegevens te verknoeien.
Hoe sorteer je data in chronologische volgorde
Data in chronologische volgorde rangschikken in Excel is heel eenvoudig. U gebruikt gewoon de standaard Oplopend sorteren optie:
- Selecteer de data die u chronologisch wilt sorteren.
- Op de Home tabblad, in de Formaten groep, klik Sorteren en filteren en selecteer Sorteer Oudste naar Nieuwste Als alternatief kunt u de A-Z optie op de Gegevens tabblad, in de Sorteren en filteren groep.
Sorteren op datum in Excel
De Excel-sorteeropties kunnen ook worden gebruikt om de hele tabel opnieuw te rangschikken, niet alleen een enkele kolom. Om records op datum te sorteren met behoud van de rijen, is het van belang de selectie uit te breiden wanneer daarom wordt gevraagd.
Dit zijn de gedetailleerde stappen voor het sorteren van gegevens in Excel op datum:
- Selecteer in uw spreadsheet de data zonder de kolomkop.
- Op de Home tabblad, klik op Sorteren en filteren en kies Sorteer Oudste naar Nieuwste .
- De Sorteer Waarschuwing dialoogvenster verschijnt. Laat de standaard De selectie uitbreiden optie geselecteerd, en klik op Sorteer :
Dat is het! De records zijn gesorteerd op datum en alle rijen zijn bij elkaar gehouden:
Sorteren op maand in Excel
Er kunnen momenten zijn waarop u data sorteren op maand het jaar negeren, bijvoorbeeld wanneer u verjaardagen van collega's of familieleden groepeert. In dit geval werkt de standaard sorteerfunctie van Excel niet omdat deze altijd rekening houdt met het jaar, zelfs als uw cellen zijn opgemaakt om alleen de maand of maand en dag weer te geven.
De oplossing is om een hulpkolom toe te voegen, het maandnummer eruit te halen en op die kolom te sorteren. Om een maand uit de datum te halen, gebruik je de functie MONTH.
In het onderstaande screenshot halen we het maandnummer uit de datum in B2 met deze formule:
=MONTH(B2)
Tip. Als het resultaat wordt weergegeven als een datum in plaats van een getal, stel dan de Algemeen formaat naar de formulecellen.
En sorteer nu uw tabel op de Maand Selecteer hiervoor de maandnummers (C2:C8), klik op Sorteren en filteren > Van klein naar groot sorteren en vervolgens de selectie uitbreiden wanneer Excel daarom vraagt. Als alles correct is gedaan, krijgt u het volgende resultaat:
Let op: onze gegevens zijn nu per maand gesorteerd, waarbij de jaren en dagen binnen elke maand worden genegeerd. Als u graag sorteren op maand en dag volg dan de instructies van het volgende voorbeeld.
Als de maandnamen worden ingevoerd als tekst en dan sorteren op een aangepaste lijst zoals uitgelegd in dit voorbeeld.
Verjaardagen in Excel sorteren op maand en dag
Bij het ordenen van data voor een verjaardagskalender is de optimale oplossing het sorteren van data op maand en dag. U hebt dus een formule nodig die maanden en dagen uit de geboortedata haalt.
In dit geval komt de TEKST-functie van Excel van pas, die een datum kan omzetten in een tekststring in het opgegeven formaat. Voor ons doel zal de formaatcode "mmdd" of "mm.dd" werken.
Met de brondatum in B2 neemt de formule de volgende vorm aan:
=TEXT(B2, "mm.dd")
Sorteer vervolgens de Maand en dag kolom van groot naar klein, en u krijgt de gegevens gerangschikt in volgorde van de dagen van elke maand.
Hetzelfde resultaat kan worden bereikt door de DATE-formule als volgt te gebruiken:
=DATUM(2000, MAAND(B2),DAG(B2))
De formule genereert een lijst van datums door de maand en de dag uit de werkelijke datum in B2 te halen en het echte jaar te vervangen door een vals jaar, 2000 in dit voorbeeld, hoewel u om het even welk jaar kunt gebruiken. Het idee is om voor alle datums hetzelfde jaar te hebben, en dan de lijst van datums in chronologische volgorde te sorteren. Aangezien het jaar hetzelfde is, zullen de datums worden gesorteerd op maand en dag, en dat is precies wat u doet.op zoek naar.
Gegevens sorteren op jaar in Excel
Als het gaat om sorteren op jaartal, is de eenvoudigste manier om data in chronologische volgorde te rangschikken met Excel's oplopende sortering ( Oudste naar Nieuwste ) optie.
Dit sorteert de data op jaar, dan op maand en dan op dag, zoals in de schermafbeelding hieronder.
Als u om een of andere reden niet gelukkig bent met een dergelijke opstelling, dan kunt u een hulpkolom toevoegen met de formule YEAR die het jaartal uit de datum haalt:
=JAAR(C2)
Na het sorteren van de gegevens door de Jaar kolom, ziet u dat de data alleen op jaartal zijn gesorteerd, het negeren van maanden en dagen .
Tip. Als je data sorteren op dag maanden en jaren buiten beschouwing laten, de dag selecteren met behulp van de DAY-functie en dan sorteren op de Dag column:
=DAG(B2)
Sorteren op dagen van de week in Excel
Om gegevens te sorteren op weekdag hebt u ook een hulpkolom nodig, zoals in de vorige voorbeelden. In dit geval vullen we de hulpkolom met de formule WEEKDAY die een getal oplevert dat overeenkomt met de dag van de week, en sorteren we vervolgens op de hulpkolom.
Voor een week die begint van zondag (1) tot zaterdag (7) is dit de te gebruiken formule:
=WEEKDAG(A2)
Als je week begint van maandag (1) tot zondag (7), is dit de juiste:
=WEEKDAG(A2, 2)
Waarbij A2 de cel is die de datum bevat.
Voor dit voorbeeld hebben wij de eerste formule gebruikt en dit resultaat verkregen:
Indien de namen van de weekdagen zijn ingevoerd als tekst , niet als data, gebruik dan de functie Aangepast sorteren zoals uitgelegd in het volgende voorbeeld.
Hoe gegevens in Excel sorteren op maandnamen (of weekdagnamen)
Als u een lijst met maandnamen heeft als tekst niet als datums die zijn geformatteerd om alleen maanden weer te geven, kan het toepassen van Excel's oplopende sortering een probleem zijn - het zal de namen van de maanden alfabetisch rangschikken in plaats van te sorteren op maandvolgorde van januari tot december. In dit geval zal een aangepaste sortering helpen:
- Selecteer de records die u wilt sorteren op maandnaam.
- Op de Gegevens tabblad, in de Sorteren en filteren groep, klik Sorteer .
- In de Sorteer dialoogvenster, doe dan het volgende:
- Onder Kolom Selecteer de naam van de kolom die de maandnamen bevat.
- Onder Sorteer op kies Celwaarden .
- Onder Bestel kies Aangepaste lijst .
- In de Aangepaste lijsten dialoogvenster, selecteer ofwel volledige maandnamen ( Januari , Februari , Maart , ...) of korte namen ( Jan , Feb , Mar ...) afhankelijk van hoe de maanden in je werkblad staan:
Uw gegevens zijn gesorteerd op maandnaam in chronologische volgorde, niet alfabetisch:
Tip. Om te sorteren op de namen van de dagen van de week , selecteer ofwel volledige namen ( Zondag , Maandag , Dinsdag , ...) of korte namen ( Zon , Mon , Tue ...) in de Aangepaste lijsten dialoogvenster.
Automatisch sorteren op datum in Excel
Zoals u hebt gezien, kan de Excel Sorteer functie een groot aantal uitdagingen aan. Het enige nadeel is dat het niet dynamisch is. Dit betekent dat u uw gegevens opnieuw moet sorteren bij elke wijziging en wanneer nieuwe informatie wordt toegevoegd. Misschien vraagt u zich af of er een manier is om automatisch te sorteren telkens wanneer een nieuwe datum wordt toegevoegd, zodat uw gegevens altijd op volgorde staan.
De beste manier om dit te bereiken is met behulp van een macro. Hieronder vindt u een paar codevoorbeelden om de volgende gegevens automatisch te sorteren op datum in chronologische volgorde.
Macro 1: Automatisch sorteren bij elke werkbladwijziging
Deze macro wordt uitgevoerd wanneer ergens in het werkblad een wijziging plaatsvindt.
Aangenomen wordt dat uw gegevens in de kolommen A t/m C staan, en dat de data waarop u wilt sorteren in kolom C staan, beginnend bij C2. Ook wordt aangenomen dat rij 1 koppen bevat (Header:=xlYes). Als uw records in andere kolommen staan, maak dan de volgende aanpassingen:
- Wijzig de A1-verwijzing in de cel linksboven van uw doelbereik (inclusief kopteksten).
- Verander de C2 verwijzing naar de bovenste cel met een datum.
Macro 2: Automatisch sorteren bij wijzigingen in een specifiek bereik
Als u werkt met een enorm werkblad dat veel informatie bevat, kan het opnieuw sorteren bij absoluut elke wijziging in het blad lastig zijn. In dat geval is het zinvol om het activeren van de macro te beperken tot de wijzigingen die in een specifiek bereik optreden. De volgende VBA-code sorteert de gegevens alleen wanneer een wijziging wordt aangebracht in kolom C die de datums bevat.
Private Sub Worksheet_Change( ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range( "C:C" )) Is Nothing Then Range( "A1" ).Sort Key1:=Range( "C2" ), _ Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:= False , _ Orientation:=xlTopToBottom End If End SubTip. Deze macro's kunnen worden gebruikt om automatisch te sorteren op elk gegevenstype niet alleen data. Onze voorbeeldcodes sorteren in oplopende volgorde. Als u wilt aflopend sorteren , verander Order1:=xlAscending in Order1:=xlDescending.
De macro toevoegen aan uw werkblad
Aangezien beide macro's automatisch worden uitgevoerd wanneer een werkblad wordt gewijzigd, moet de code worden ingevoegd in het blad waar u gegevens wilt sorteren (Blad1 in dit voorbeeld). Hier ziet u hoe:
- Druk op Alt + F11 om de VBA-editor te openen.
- In de Projectverkenner links, dubbelklik op het blad waar u automatisch wilt sorteren.
- Plak de code in het venster Code.
Datums automatisch sorteren met formule
Stel, u hebt een lijst met data en u wilt die automatisch in chronologische volgorde laten rangschikken in een aparte kolom, naast de oorspronkelijke lijst. Dat kan met de volgende matrixformule:
=IFERROR(INDEX($A$2:$A$20, MATCH(ROWS($A$2:A2), COUNTIF($A$2:$A$20, "<="&$A$2:$A$20), 0)), "").
Waarbij A2:A20 de oorspronkelijke (ongesorteerde) data zijn, inclusief een paar lege cellen voor eventuele nieuwe ingangen.
Voer de formule in in een lege cel naast de kolom met de oorspronkelijke data (C2 in dit voorbeeld) en druk tegelijkertijd op de toetsen Ctrl + Shift + Enter om de formule te voltooien. Sleep de formule vervolgens naar de resterende cellen (C2:C20 in ons geval).
Tip. Om nieuw toegevoegde datums automatisch te sorteren, moet u ervoor zorgen dat er voldoende lege cellen in het bedoelde bereik zijn. Onze lijst met datums bevindt zich bijvoorbeeld in het bereik A2:A7, maar we voegen $A$2:$A$20 toe aan de formule en vullen deze in in de cellen C2 tot en met C20. De functie IFERROR voorkomt fouten in de extra cellen en retourneert in plaats daarvan een lege tekenreeks ("").
Excel sorteren op datum werkt niet
Als uw datums niet zijn gesorteerd zoals het hoort, zijn ze waarschijnlijk ingevoerd in een formaat dat Excel niet kan begrijpen, daarom worden ze gezien als tekststrings in plaats van datums. De volgende tutorial legt uit hoe u de zogenaamde "tekstdatums" kunt onderscheiden en converteren naar normale Excel-datums: Hoe tekst converteren naar datum in Excel.
Zo sorteer je op datum in Excel. Ik dank je voor het lezen en hoop je volgende week op onze blog te zien!
Beschikbare downloads
Formulevoorbeelden sorteren op datum (.xlsx-bestand)
Macro automatisch sorteren (.xlsm-bestand)