Note: The other languages of the website are Google-translated. Back to English

Hur sorterar jag automatiskt datum när datum anges eller ändras i Excel? 

I Excel är Svart funktionen kan hjälpa dig att sortera datum i stigande eller fallande ordning efter behov. Men det är inte dynamiskt, om du har sorterat datumet och sedan lagt till ett nytt datum i det, måste du sortera det igen. Finns det några bra och snabba sätt för dig att automatiskt sortera datumet när du anger ett nytt datum varje gång i ett kalkylblad?

Automatiskt sortera datum när datum anges eller ändras med formel

Automatiskt sortera datum när datum anges eller ändras med VBA-kod


pil blå höger bubbla Automatiskt sortera datum när datum anges eller ändras med formel

Till exempel, det ursprungliga datumet i kolumn A, följande formel kan hjälpa dig att automatiskt sortera datumet eller andra textsträngar i en ny hjälpkolumn baserat på kolumnen du vill sortera, gör så här:

1. Ange denna formel:

=INDEX($A$2:$A$15,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$15,"<="&$A$2:$A$15),0)) i en tom cell bredvid din datumkolumn, C2, till exempel, och tryck sedan på Ctrl + Skift + Enter tangenter tillsammans, så får du en nummersekvens och drar sedan påfyllningshandtaget ner till cellerna som du vill använda, se skärmdump:

Anmärkningar: I ovanstående formel: A2: A15 är ditt ursprungliga datumintervall som du vill sortera automatiskt.

dok. autosortera efter datum 1

2. Formatera sedan siffrorna som datumformat genom att klicka på Kort datum från Allmänt rullgardinsmenyn under Start flik, se skärmdump:

dok. autosortera efter datum 2

3. Sedan har sekvensnumren konverterats till datumformat och originaldatumet har också sorterats, se skärmdump:

dok. autosortera efter datum 3

4. Från och med nu, när du anger nytt datum eller ändrar datum i kolumn A, kommer datumet i kolumn C automatiskt att sorteras i stigande ordning, se skärmdump:

dok. autosortera efter datum 4


pil blå höger bubbla Automatiskt sortera datum när datum anges eller ändras med VBA-kod

Följande VBA-kod kan hjälpa dig att automatiskt sortera datumet i den ursprungliga kolumnen när du anger nytt datum eller ändrar datumet efter behov.

1. Gå till kalkylbladet som du vill sortera datumet automatiskt när du anger eller ändrar ett datum.

2. Högerklicka på arkfliken och välj Visa kod från snabbmenyn, i poppade ut Microsoft Visual Basic för applikationer kopiera och klistra in följande kod i tomt Modulerna fönster, se skärmdump:

VBA-kod: automatisk sortering när datum anges eller ändras:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    On Error Resume Next
    If Application.Intersect(Target, Application.Columns(1)) Is Nothing Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    Range("A1").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
                                        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

dok. autosortera efter datum 6

Anmärkningar: I ovanstående kod kommer det inmatade datumet att sorteras automatiskt i kolumn A, du kan ändra A1 och A2 till dina egna celler som du behöver.

3. Från och med nu, när du anger datum i kolumn A, sorteras datumet stigande automatiskt.


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (15)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Du glömde att nämna att formeln är array och du måste ctrl+Skift+enter. Lyckligtvis hade du en skärmdump annars skulle din sida vara ett slöseri med cyberrymden
Denna kommentar minimerades av moderatoren på webbplatsen
Vad händer om det finns ett dubblettdatum i listan? Och jag vill att båda siffrorna ska dyka upp.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Ryan,

För att sortera datumet med dubbletter bör du använda följande formel:

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

Kom ihåg att trycka på Shift + Ctrl + Enter samtidigt.

Hoppas det kan hjälpa dig, tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Fantastiskt :) Fungerar bra
Denna kommentar minimerades av moderatoren på webbplatsen
hur kan jag göra samma sorteringsberäkning men från senaste datum till äldst? För närvarande är det äldst till nyast. Det räcker inte att vända på <-tecknet, och utöver det har jag inte en tillräckligt stark förståelse för vad den gör. Jag tror också att det som kan hända är att excel automatiskt fungerar från topp till botten och orsakar svårigheter.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Bo,

För att automatiskt sortera datumet från nyaste till äldsta behöver du bara ändra <= till >= i formeln ovan enligt följande:
=INDEX($A$2:$A$15,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$15,">="&$A$2:$A$15),0))
När du har infogat denna formel, kom ihåg att trycka på Ctrl + Shift + Enter samtidigt för att få rätt resultat.
Vänligen prova det.
Denna kommentar minimerades av moderatoren på webbplatsen
Utöver dubblettdatumen, finns det också ett sätt att inkludera flera kolumner med data när den sorteras? Jag behöver det för att inkludera flera kolumner och sortera dem alla tillsammans med utgångsdatum.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag gjorde ett checkhäftesregister och det fungerar men jag vill ta reda på hur jag gör mina inlägg för att gå i datumordning. All hjälp skulle uppskattas. Jag lär mig fortfarande excel.
Denna kommentar minimerades av moderatoren på webbplatsen
Finns det någon speciell formel för att hålla cellerna efter det sorterade datumet? Det skulle vara trevligt att organisera efter datum men behålla hela raden med information. All hjälp skulle vara mycket uppskattad.
Denna kommentar minimerades av moderatoren på webbplatsen
Med VBA-koden har jag kopierat och klistrat in ovanstående men önskar att datumen i kolumn F ska vara de värden som data sorteras efter. Jag har ändrat intervallvärdena till F2 och F3500 (storleken på kalkylbladet där rad 1 är rubriker), men det sorteras fortfarande efter datumen i kolumn A. Kan någon hjälpa mig?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Ross,
När du tillämpar koden på kolumn F bör du ändra några referenser till ditt behov enligt nedanstående kod:
Privata delarkivsförändring (ByVal-mål som område)
'Uppdatering av Extendoffice 20160606
On Error Resume Next
Om Application.Intersect(Target, Application.Columns(6)) är ingenting, avsluta Sub
Om Target.Count > 1 Avsluta Sub
Range("F1").Sorteringsnyckel1:=Range("F2"), Order1:=xlStigande, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

Försök gärna, hoppas det kan hjälpa dig!
Denna kommentar minimerades av moderatoren på webbplatsen
Den där VBA-koden är guld! Tack! :-)
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, Vad händer om jag vill göra detta till flera kolumner eller till och med ha en ny startpunkt i samma kolumn? Gör jag bara en paus och kopierar VBA-koden i samma fönster?
Tack.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, det här är ett bra verktyg. tack. Hur kan jag tillämpa detta på flera kolumner på samma flik? Kan jag använda det för att starta om sortering efter datum i en ny cell i samma kolumn? Skulle jag bara klistra om VBA-koden i samma fönster?
Tack.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Noname9, hur mår du? Att nå ditt mål genom att använda VBA-kod är utom min räckhåll. Men jag vet hur man använder formler för att göra susen. Anta att vi har två kolumner med datum, säg A2:B7. Hur sorterar man dessa datum i en ny kolumn? Vänligen gör enligt följande.
Först måste vi kombinera de två kolumnerna med datum till en kolumn. Kopiera och klistra in formeln =INDEX($A$2:$B$7,INT((ROWS(D$2:D2)-1)/2)+1,MOD(ROWS(D$2:D2)-1,2)+ 1) in i cell D2. Och dra fyllningshandtaget nedåt för att kombinera alla datum. Se skärmdump 1.
Sedan kommer vi att sortera de kombinerade datumen. Kopiera och klistra in formeln =INDEX($D$2:$D$13,MATCH(ROWS($D$2:D2),COUNTIF($D$2:$D$13,"<="&$D$2:$D$13) ,0)) till F2. Och dra fyllningshandtaget nedåt för att sortera alla datum. Se skärmdump 2.
Hoppas det hjälper. Ha en trevlig dag. Med vänliga hälsningar, Mandy
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL