Hur man sorterar efter datum i Excel: kronologiskt, efter månad, automatisk sortering

  • Dela Detta
Michael Brown

I den här artikeln tittar vi på olika sätt att sortera datum i Excel. Du lär dig hur du snabbt ordnar datum i kronologisk ordning, sorterar efter månad och ignorerar år, sorterar födelsedagar efter månad och dag och hur du automatiskt sorterar efter datum när du anger nya värden.

Excels inbyggda sorteringsalternativ är kraftfulla och effektiva verktyg, men de fungerar inte alltid korrekt när det gäller att sortera datum. I den här handledningen lär du dig några användbara knep för att ordna Excel efter datum på ett meningsfullt sätt utan att förstöra dina data.

    Hur man sorterar datum i kronologisk ordning

    Det är mycket enkelt att ordna datum i kronologisk ordning i Excel. Stigande sortering alternativ:

    1. Välj de datum du vill sortera kronologiskt.
    2. På den Hem på fliken Format grupp, klicka på Sortera & Filtrera och välj Sortera från äldst till nyast Alternativt kan du använda A-Z i alternativet på Uppgifter på fliken Sortera & Filtrera grupp.

    Hur man sorterar efter datum i Excel

    Excel-sorteringsalternativen kan också användas för att ordna om hela tabellen, inte bara en enskild kolumn. Om du vill sortera poster efter datum och behålla raderna intakta är det viktigt att du utökar urvalet när du blir tillfrågad.

    Här är de detaljerade stegen för att sortera data i Excel efter datum:

    1. I kalkylbladet väljer du datum utan kolumnrubrik.
    2. På den Hem klickar du på Sortera & Filtrera och väljer Sortera från äldst till nyast .

    3. Sortera varning dialogrutan visas. Lämna standardinställningarna Utöka urvalet och klickar på Sortera :

    Nu är det klart! Posterna har sorterats efter datum och alla rader är samlade:

    Hur man sorterar efter månad i Excel

    Det kan finnas tillfällen då du vill sortera datum efter månad ignorera året, till exempel när du grupperar datum för kollegors eller släktingars jubileumsdagar. I det här fallet fungerar inte Excels standardsortering eftersom den alltid tar hänsyn till året, även om cellerna är formaterade så att de endast visar månaden eller månad och dag.

    Lösningen är att lägga till en hjälpkolumn, extrahera månadsnumret och sortera efter den kolumnen. För att få fram en månad från datumet använder du funktionen MONTH.

    I skärmdumpen nedan extraherar vi månadstalet från datumet i B2 med den här formeln:

    =MÅNAD(B2)

    Tips: Om resultatet visas som datum i stället för som ett nummer, ställer du in Allmänt format till formelcellerna.

    Sortera nu din tabell med hjälp av Månad kolumnen. Välj månadens nummer (C2:C8), klicka på Sortera & Filtrera > Sortera från minsta till största , och sedan utöka urvalet när Excel ber dig att göra det. Om allt är korrekt gjort får du följande resultat:

    Observera att våra data nu är sorterade per månad och att år och dagar inom varje månad inte beaktas. Om du vill sortera efter månad och dag följ sedan instruktionerna i nästa exempel.

    Om månadsnamnen anges som text och sedan sortera efter en anpassad lista som förklaras i det här exemplet.

    Sortera födelsedagar i Excel efter månad och dag

    När du ordnar datum för en födelsedagskalender är den optimala lösningen att sortera datum efter månad och dag. Därför behöver du en formel som hämtar månader och dagar från födelsedata.

    I det här fallet är Excel TEXT-funktionen, som kan konvertera ett datum till en textsträng i det angivna formatet, till hjälp. För vårt syfte fungerar formatkoden "mmdd" eller "mm.dd".

    Med källdatumet i B2 får formeln följande form:

    =TEXT(B2, "mm.dd")

    Sortera sedan Månad och dag kolumnen från störst till minst, och du får uppgifterna ordnade i ordning efter dagarna i varje månad.

    Samma resultat kan uppnås genom att använda formeln DATE på följande sätt:

    =DATE(2000, MÅNAD(B2),DAG(B2))

    Formeln genererar en lista med datum genom att extrahera månad och dag från det faktiska datumet i B2 och ersätta det riktiga året med ett falskt år, 2000 i det här exemplet, men du kan använda vilket som helst. Tanken är att ha samma år för alla datum och sedan sortera listan med datum i kronologisk ordning. Eftersom året är detsamma kommer datumen att sorteras efter månad och dag, vilket är precis vad du vill göra.letar efter.

    Hur man sorterar data efter år i Excel

    När det gäller att sortera efter år är det enklast att ordna datum i kronologisk ordning med Excels stigande sortering ( Äldst till senast ).

    Detta kommer att sortera datum efter år, sedan efter månad och sedan efter dag som visas i skärmdumpen nedan.

    Om du av någon anledning inte är nöjd med ett sådant arrangemang kan du lägga till en hjälpkolumn med formeln YEAR som extraherar året från datumet:

    =ÅR(C2)

    Efter att ha sorterat uppgifterna enligt År kolumnen ser du att datumen endast är sorterade efter år, ignorera månader och dagar .

    Tips: Om du vill sortera datum efter dag bortse från månader och år, ta fram dagen med hjälp av funktionen DAY och sortera sedan efter Dag kolumn:

    =DAG(B2)

    Hur man sorterar efter veckodagar i Excel

    För att sortera data efter veckodag behöver du också en hjälpkolumn, precis som i de tidigare exemplen. I det här fallet fyller vi hjälpkolumnen med formeln WEEKDAY som returnerar ett tal som motsvarar veckodagen, och sedan sorterar vi efter hjälpkolumnen.

    För en vecka som börjar från söndag (1) till lördag (7) är det här formeln du ska använda:

    =WEEKDAY(A2)

    Om din vecka börjar från måndag (1) till söndag (7), är det här den rätta:

    = VECKODAG(A2, 2)

    Där A2 är cellen som innehåller datumet.

    I det här exemplet använde vi den första formeln och fick detta resultat:

    Om namnen på veckodagarna anges som text , inte som datum, använd då funktionen Anpassad sortering som förklaras i nästa exempel.

    Sortera data i Excel efter månadsnamn (eller veckodagsnamn)

    Om du har en lista med månadsnamn som text , inte som datum som är formaterade för att endast visa månader, kan det vara ett problem att tillämpa Excels stigande sortering - den ordnar månadernas namn i alfabetisk ordning i stället för att sortera i månadsordning från januari till december. I det här fallet kan en anpassad sortering hjälpa till:

    1. Välj de poster som du vill sortera efter månadsnamn.
    2. På den Uppgifter på fliken Sortera & Filtrera grupp, klicka på Sortera .
    3. I Sortera gör följande:
      • Under Kolumn Välj namnet på den kolumn som innehåller månadernas namn.
      • Under Sortera på Välj Cellvärden .
      • Under Beställ , välj Anpassad lista .
    4. I Anpassade listor I dialogrutan väljer du antingen fullständiga månadsnamn ( Januari , Februari , Mars , ...) eller kortnamn ( Jan , Februari , Mar ...) beroende på hur månaderna anges i arbetsbladet:

  • Klicka på OK två gånger för att stänga båda dialogrutorna.
  • Färdiga! Dina data har sorterats efter månadens namn i kronologisk ordning, inte alfabetiskt:

    Tips. Sortera efter namnen på de veckodagar , välj antingen fullständiga namn ( Söndag , Måndag , Tisdag , ...) eller kortnamn ( Sun , Måndag , Tis ...) i Anpassade listor dialogrutan.

    Hur man sorterar automatiskt efter datum i Excel

    Som du har sett klarar Excel-sorteringsfunktionen en mängd olika utmaningar. Den enda nackdelen är att den inte är dynamisk. Det innebär att du måste sortera om dina data vid varje ändring och när ny information läggs till. Du kanske undrar om det finns ett sätt att sortera automatiskt varje gång ett nytt datum läggs till, så att dina data alltid är i ordning.

    Det bästa sättet att åstadkomma detta är att använda ett makro. Nedan hittar du ett par kodexempel för att automatiskt sortera följande data efter datum i kronologisk ordning.

    Makro 1: Automatisk sortering vid varje ändring av arbetsbladet

    Detta makro körs när en ändring sker någonstans i arbetsbladet.

    Det förutsätts att dina data finns i kolumnerna A till C och att de datum som du vill sortera efter finns i kolumn C, med början i C2. Det förutsätts också att rad 1 innehåller rubriker (Header:=xlYes). Om dina poster finns i olika kolumner gör du följande justeringar:

    • Ändra A1-referensen till den övre vänstra cellen i målområdet (inklusive rubriker).
    • Ändra C2-referensen till den översta cellen som innehåller ett datum.
    Private Sub Worksheet_Change( ByVal Target As Range) On Error Resume Next Range( "A1" ).Sort Key1:=Range( "C2" ), _ Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:= False , _ Orientation:=xlTopToBottom End Sub

    Makro 2: Automatisk sortering när ändringar görs i ett visst intervall

    Om du arbetar med ett stort arbetsblad som innehåller mycket information kan det vara besvärligt att sortera om vid varje ändring i arket. I det här fallet är det vettigt att begränsa utlösningen av makrot till de ändringar som sker i ett visst intervall. Följande VBA-kod sorterar data endast när en ändring görs i kolumn C som innehåller datum.

    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 Sub

    Tips: Dessa makron kan användas för att automatiskt sortera efter alla datatyper , inte bara datum. Våra exempelkoder sorterar i stigande ordning. Om du vill sortera i fallande ordning ändra Order1:=xlAscending till Order1:=xlDescending.

    Så här lägger du till makrot till ditt kalkylblad

    Eftersom båda makron körs automatiskt när ett arbetsblad ändras, ska koden infogas i det blad där du vill sortera data (blad 1 i det här exemplet). Så här gör du:

    1. Tryck på Alt + F11 för att öppna VBA Editor.
    2. I Utforskare av projekt på vänster sida, dubbelklicka på det ark där du vill göra en automatisk sortering.
    3. Klistra in koden i fönstret Kod.

    Automatisk sortering av datum med formel

    Anta att du har en lista med datum och att du vill ha dem automatiskt ordnade i kronologisk ordning i en separat kolumn, sida vid sida med den ursprungliga listan. Detta kan göras med följande formel:

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

    Där A2:A20 är de ursprungliga (osorterade) datumen, inklusive några tomma celler för eventuella nya poster.

    Skriv in formeln i en tom cell bredvid kolumnen med de ursprungliga datumen (C2 i det här exemplet) och tryck samtidigt på tangenterna Ctrl + Shift + Enter för att slutföra formeln. Dra sedan formeln ner till de återstående cellerna (C2:C20 i vårt fall).

    Tips: Om du vill att datum som nyligen lagts till ska sorteras automatiskt ska du se till att det finns tillräckligt många tomma celler i det angivna intervallet. Vår lista med datum finns till exempel i intervallet A2:A7, men vi anger $A$2:$A$20 i formeln och fyller den i cellerna C2 till C20. Funktionen IFERROR förhindrar fel i de extra cellerna och returnerar istället en tom sträng ("").

    Excel-sortering efter datum fungerar inte

    Om dina datum inte är sorterade som de ska är det troligt att de har angetts i ett format som Excel inte kan förstå, och därför uppfattas de som textsträngar snarare än datum. I följande handledning förklaras hur du skiljer ut så kallade "textdatum" och omvandlar dem till normala Excel-datum: Hur man konverterar text till datum i Excel.

    Så här gör du för att sortera efter datum i Excel. Tack för att du läste och hoppas att vi ses på vår blogg nästa vecka!

    Tillgängliga nedladdningar

    Exempel på formler för sortering efter datum (.xlsx-fil)

    Makro för automatisk sortering (.xlsm-fil)

    Michael Brown är en hängiven teknikentusiast med en passion för att förenkla komplexa processer med hjälp av mjukvaruverktyg. Med mer än ett decenniums erfarenhet inom teknikbranschen har han finslipat sina kunskaper i Microsoft Excel och Outlook, samt Google Sheets och Docs. Michaels blogg är tillägnad att dela med sig av sin kunskap och expertis med andra, och tillhandahåller lätta att följa tips och handledningar för att förbättra produktiviteten och effektiviteten. Oavsett om du är en erfaren proffs eller nybörjare, erbjuder Michaels blogg värdefulla insikter och praktiska råd för att få ut det mesta av dessa viktiga programvaruverktyg.