Hoe om volgens datum in Excel te sorteer: chronologies, volgens maand, outomaties sorteer

  • Deel Dit
Michael Brown

In hierdie artikel sal ons kyk na verskillende maniere om datums in Excel te sorteer. Jy sal leer hoe om datums vinnig in chronologiese volgorde te rangskik, volgens maand te sorteer en jare te ignoreer, verjaarsdae volgens maand en dag te sorteer, en hoe om outomaties volgens datum te sorteer wanneer nuwe waardes ingevoer word.

Excel se ingeboude sorteeropsies is kragtige en doeltreffende instrumente, maar dit werk nie altyd korrek wanneer dit kom by die sortering van datums nie. Hierdie tutoriaal sal jou 'n paar nuttige truuks leer om Excel op 'n sinvolle manier volgens datum te rangskik sonder om jou data te mors.

    Hoe om datums in chronologiese volgorde te sorteer

    Reël datums in chronologiese volgorde in Excel is baie maklik. Jy gebruik net die standaard Stygende Sorteer -opsie:

    1. Kies die datums wat jy chronologies wil sorteer.
    2. Op die Tuis -oortjie, in die Formate -groep, klik Sorteer & Filter en kies Sorteer oudste na nuutste . Alternatiewelik kan jy die A-Z -opsie op die Data -oortjie, in die Sorteer & Filter -groep.

    Hoe om volgens datum in Excel te sorteer

    Die Excel-sorteeropsies kan ook gebruik word vir die herrangskikking van die hele tabel, nie net 'n enkele kolom nie. Om rekords volgens datum te sorteer en die rye ongeskonde te hou, is die sleutelpunt om die keuse uit te brei wanneer dit gevra word.

    Hier is die gedetailleerde stappe om data in Excel volgens datum te sorteer:

    1. In jou sigblad, kies die datums sonder die kolomkopskrif.
    2. Op die Tuis -oortjie, klik Sorteer & Filter en kies Sorteer oudste na nuutste .

    3. Die Sorteerwaarskuwing dialoogkassie sal verskyn. Laat die verstek Vrei die keuse uit opsie gekies, en klik Sorteer :

    Dit is dit! Die rekords is volgens datum gesorteer en al die rye word bymekaar gehou:

    Hoe om volgens maand in Excel te sorteer

    Daar kan tye wees wanneer jy wil om datums volgens maand te sorteer deur die jaar te ignoreer, byvoorbeeld wanneer verjaarsdagdatums van jou kollegas of familielede gegroepeer word. In hierdie geval sal die verstek Excel-sorteerkenmerk nie werk nie, want dit neem altyd die jaar in ag, selfs al is jou selle geformateer om slegs die maand of maand en dag te vertoon.

    Die oplossing is om 'n helperkolom by te voeg. , trek die maandnommer uit en sorteer volgens daardie kolom. Om 'n maand vanaf datum te kry, gebruik die MONTH-funksie.

    In die skermkiekie hieronder onttrek ons ​​die maandnommer van die datum in B2 met hierdie formule:

    =MONTH(B2)

    Wenk. As die resultaat as datum eerder as 'n nommer vertoon word, stel die Algemene -formaat op die formuleselle.

    En nou, sorteer jou tabel volgens die Maand -kolom. Kies hiervoor die maandnommers (C2:C8), klik Sorteer & Filter > Sorteer Kleinste na Grootste , en brei dan die keuse uit wanneer Excel jou vra om dit te doen. As alles reg gedoen word, sal jy die volgende kryresultaat:

    Let asseblief daarop dat ons data nou volgens maand gesorteer is, en ignoreer die jare en dae binne elke maand. As jy wil volgens maand en dag sorteer, volg dan die instruksies van die volgende voorbeeld.

    As die maandname as teks ingevoer word, sorteer dan deur 'n pasgemaakte lys soos verduidelik in hierdie voorbeeld.

    Hoe om verjaarsdae in Excel volgens maand en dag te sorteer

    Wanneer datums vir 'n verjaarsdagkalender gereël word, sal die optimale oplossing wees om datums volgens maand en dag. Gevolglik het jy 'n formule nodig wat maande en dae vanaf die geboortedatums sal trek.

    In hierdie geval kom die Excel TEXT-funksie, wat 'n datum na 'n teksstring in die gespesifiseerde formaat kan omskakel, handig te pas . Vir ons doel sal die "mmdd" of "mm.dd" formaat kode werk.

    Met die brondatum in B2 neem die formule hierdie vorm aan:

    =TEXT(B2, "mm.dd")

    Sorteer dan die Maand en dag kolom van die grootste na die kleinste, en jy sal die data in volgorde van die dae van elke maand gerangskik hê.

    Dieselfde resultaat kan bereik word deur die DATUM-formule soos volg te gebruik:

    =DATE(2000, MONTH(B2),DAY(B2))

    Die formule genereer 'n lys van datums deur die maand en dag uit die werklike datum in B2 te onttrek en die regte jaar met 'n vals een, 2000 in hierdie voorbeeld, alhoewel jy enige kan plaas. Die idee is om dieselfde jaartal vir al die datums te hê, en dan die lys datums in chronologiese volgorde te sorteer.Aangesien die jaar dieselfde is, sal die datums volgens maand en dag gesorteer word, wat presies is waarna jy soek.

    Hoe om data volgens jaar in Excel te sorteer

    Wanneer dit kom by sorteer volgens jaar, die maklikste manier is om datums in chronologiese volgorde te rangskik met Excel se stygende sorteer ( Oudste na Nuutste ) opsie.

    Dit sal datums sorteer per jaar, dan per maand, en dan per dag soos in die skermkiekie hieronder getoon.

    As jy om een ​​of ander rede nie tevrede is met so 'n reëling nie, dan kan jy byvoeg 'n helperkolom met die JAAR-formule wat die jaar uit die datum onttrek:

    =YEAR(C2)

    Nadat jy data volgens die Jaar -kolom gesorteer het, sal jy sien dat die datums gesorteer is slegs volgens jaar, ignoreer maande en dae .

    Wenk. As jy datums volgens dag wil sorteer sonder om maande en jare in ag te neem, onttrek die dag deur die DAY-funksie te gebruik, en sorteer dan volgens die Dag -kolom:

    =DAY(B2)

    Hoe om volgens dae van die week in Excel te sorteer

    Om data volgens weekdag te sorteer, sal jy ook 'n helperkolom benodig soos in die vorige voorbeelde. In hierdie geval sal ons die helperkolom vul met die WEEKDAY-formule wat 'n getal gee wat ooreenstem met die dag van die week, en dan volgens die helperkolom sorteer.

    Vir 'n week wat vanaf Sondag (1) begin. ) tot Saterdag (7), dit is die formule om te gebruik:

    =WEEKDAY(A2)

    As jou week van Maandag (1) tot Sondag begin(7), hier is die regte een:

    =WEEKDAY(A2, 2)

    Waar A2 die sel is wat die datum bevat.

    Vir hierdie voorbeeld het ons die eerste formule gebruik en dit gekry resultaat:

    In die geval dat die weekdagname as teks ingevoer word, nie as datums nie, gebruik dan die Custom Sort funksie soos verduidelik in die volgende voorbeeld.

    Hoe om data in Excel te sorteer volgens maandname (of weekdagname)

    In geval jy 'n lys van maandname het as teks , nie as datums wat geformateer is om te vertoon nie slegs maande, kan die toepassing van Excel se stygende soort 'n probleem wees - dit sal die maande se name alfabeties rangskik in plaas van om volgens maandvolgorde van Januarie tot Desember te sorteer. In hierdie geval sal 'n pasgemaakte sortering help:

    1. Kies die rekords wat jy volgens maandnaam wil sorteer.
    2. Op die Data -oortjie, in die Sorteer & Filter -groep, klik Sorteer .
    3. Doen die volgende in die Sorteer -dialoogkassie:
      • Onder Kolom , kies die naam van die kolom wat die maandname bevat.
      • Onder Sorteer op , kies Selwaardes .
      • Onder Bestel , kies Custom List .
    4. In die Custom Lists dialoogkassie, kies óf volle maandname ( Januarie , Februarie , Maart , …) óf kortname ( Jan , Feb , Mrt ...) afhangende van hoe die maande in jou werkblad gelys word:

  • Klik twee keer OK om beide dialoog te sluitbokse.
  • Klaar! Jou data is volgens maandnaam in chronologiese volgorde gesorteer, nie alfabeties nie:

    Wenk. Om volgens die name van die dae van die week te sorteer, kies óf volle name ( Sondag , Maandag , Dinsdag , …) of kort name ( So , Ma , Di ...) in die Gepasmaakte lyste dialoogkassie.

    Hoe om outomaties volgens datum in Excel te sorteer

    Soos jy gesien het, hanteer die Excel Sorteer-kenmerk 'n verskeidenheid uitdagings. Die enigste nadeel is dat dit nie dinamies is nie. Dit beteken dat jy jou data moet hersorteer met elke verandering en wanneer nuwe inligting bygevoeg word. Miskien wonder jy of daar 'n manier is om outomaties te sorteer elke keer as 'n nuwe datum bygevoeg word sodat jou data altyd in orde is.

    Die beste manier om dit te bereik is deur 'n makro te gebruik. Hieronder sal jy 'n paar kodevoorbeelde vind om die volgende data outomaties volgens datum in chronologiese volgorde te sorteer.

    Makro 1: Outo-sorteer met elke werkbladverandering

    Hierdie makro word uitgevoer wanneer 'n verandering op enige plek in die werkblad plaasvind.

    Daar word aanvaar dat jou data in kolomme A tot C is, en die datums waarop jy wil sorteer, is in kolom C, wat begin in C2. Daar word ook aanvaar dat ry 1 opskrifte bevat (Header:=xlYes). As jou rekords in verskillende kolomme is, maak dan die volgende aanpassings:

    • Verander die A1-verwysing na die boonste linker sel van jouteikenreeks (insluitend opskrifte).
    • Verander die C2-verwysing na die boonste sel wat 'n datum bevat.
    Privaat subwerkblad_Verander( ByVal Target As Range) By Fout Hervat volgende reeks( "A1" ) .Sorteer Sleutel1:=Bereik( "C2" ), _ Orde1:=xlStygend, Kopskrif:=xlJa, _ OrderCustom:=1, MatchCase:= Vals , _ Oriëntasie:=xlBo na Onder Einde Sub

    Makro 2: Outomatiese sorteer wanneer veranderinge word aan 'n spesifieke reeks aangebring

    As jy met 'n groot werkblad werk wat baie inligting bevat, kan hersortering met absoluut enige verandering in die blad dalk lastig wees. In hierdie geval is dit sinvol om die aktiveer van die makro te beperk tot die veranderinge wat in 'n spesifieke reeks plaasvind. Die volgende VBA-kode sorteer die data slegs wanneer 'n verandering in kolom C gemaak word wat die 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" ).Sorteer Sleutel1:=Bereik( "C2" ), _ Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:= False , _ Orientation:=xlTopToBottom End If End Sub

    Wenk. Hierdie makro's kan gebruik word om outomaties te sorteer volgens enige datatipe , nie net datums nie. Ons voorbeeldkodes sorteer in stygende volgorde. As jy wil aflopend sorteer , verander Order1:=xlAscending na Order1:=xlDescending.

    Hoe om die makro by jou werkblad te voeg

    Aangesien beide makro's outomaties op 'n werkblad se verandering uitgevoer word,die kode moet ingevoeg word in die blad waar jy data wil sorteer (Blad1 in hierdie voorbeeld). Dit is hoe:

    1. Druk Alt + F11 om die VBA Editor oop te maak.
    2. In die Project Explorer aan die linkerkant, dubbelklik die blad waar jy wil outo sorteer.
    3. Plak die kode in die Kode-venster.

    Outomatiese sorteer datums met formule

    Gestel jy het 'n lys van datums en jy wil dit outomaties in chronologiese volgorde in 'n aparte kolom, langs mekaar met die oorspronklike lys rangskik. Dit kan met die volgende skikkingsformule gedoen word:

    =IFERROR(INDEX($A$2:$A$20, MATCH(ROWS($A$2:A2), COUNTIF($A$2:$A$20, "<="&$A$2:$A$20), 0)), "")

    Waar A2:A20 die oorspronklike (ongesorteerde) datums is, insluitend 'n paar leë selle vir moontlike nuwe inskrywings.

    Tik die formule in 'n leë sel langs die kolom met die oorspronklike datums (C2 in hierdie voorbeeld) en druk die Ctrl + Shift + Enter-sleutels gelyktydig om dit te voltooi. Sleep dan die formule af na die oorblywende selle (C2:C20 in ons geval).

    Wenk. Om datums wat nuut bygevoeg is outomaties te sorteer, maak seker dat jy 'n voldoende aantal leë selle in die verwysde reeks insluit. Ons lys van datums is byvoorbeeld in die reeks A2:A7, maar ons verskaf $A$2:$A$20 aan die formule, en vul dit in die selle C2 tot C20 in. Die IFERROR-funksie voorkom foute in die ekstra selle, en gee eerder 'n leë string ("") terug.

    Excel sorteer volgens datum werk nie

    As jou datums nie soos hulle gesorteer is niemoet, waarskynlik in 'n formaat ingevoer word wat Excel nie kan verstaan ​​nie, daarom word dit as teksstringe eerder as datums beskou. Die volgende tutoriaal verduidelik hoe om die sogenaamde "teksdatums" te onderskei en om te skakel na normale Excel-datums: Hoe om teks na datum in Excel om te skakel.

    Dis hoe om volgens datum in Excel te sorteer. Ek bedank jou dat jy gelees het en hoop om jou volgende week op ons blog te sien!

    Beskikbare aflaaie

    Sorteer volgens datumformulevoorbeelde (.xlsx-lêer)

    Outo-sorteer makro ( .xlsm-lêer)

    Michael Brown is 'n toegewyde tegnologie-entoesias met 'n passie om komplekse prosesse te vereenvoudig deur sagteware-instrumente te gebruik. Met meer as 'n dekade se ondervinding in die tegnologiebedryf, het hy sy vaardighede in Microsoft Excel en Outlook, sowel as Google Sheets en Docs, opgeskerp. Michael se blog is toegewy daaraan om sy kennis en kundigheid met ander te deel, en verskaf maklik-om-te volg wenke en tutoriale vir die verbetering van produktiwiteit en doeltreffendheid. Of jy nou 'n ervare professionele persoon of 'n beginner is, Michael se blog bied waardevolle insigte en praktiese raad om die meeste uit hierdie noodsaaklike sagteware-nutsmiddels te kry.