Hur sorterar man datum automatiskt vid inmatning eller ändring 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 lägger till ett nytt datum till det, skulle du behöva sortera det igen. Finns det några bra och snabba sätt att automatiskt sortera datum när man anger ny data 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
Automatiskt sortera datum när datum anges eller ändras med formel
Till exempel, om de ursprungliga datumen finns i kolumn A, kan följande formel hjälpa dig att automatiskt sortera datumen eller andra textsträngar i en ny hjälpkolumn baserat på kolumnen du vill sortera. Vänligen följ dessa steg:
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 tangenterna tillsammans för att få en nummersekvens. Dra sedan fyllningshandtaget ner till önskade celler. Se skärmdump:
Anmärkningar: I ovanstående formel: A2: A15 är ditt ursprungliga datumintervall som du vill sortera automatiskt.
2. Formatera sedan siffrorna som datumformat genom att klicka på Kort datum från Allmänt rullgardinsmenyn under Hem flik, se skärmdump:
3. Sekvensnumren har nu konverterats till datumformat, och de ursprungliga datumen har också sorterats. Se skärmdump:
4. Från och med nu, när du anger eller ändrar ett datum i kolumn A, kommer datumen i kolumn C att sorteras i stigande ordning automatiskt. Se skärmdump:
Automatiskt sortera datum när datum anges eller ändras med VBA-kod
Följande VBA-kod kan hjälpa dig att automatiskt sortera datum i den ursprungliga kolumnen när du anger eller ändrar ett datum 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
Anmärkningar: I koden ovan kommer de angivna datumen att automatiskt sorteras 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 ett datum i kolumn A, kommer datumen att sorteras i stigande ordning automatiskt.
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
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!