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

Hvordan sorteres dato automatisk, når dato indtastes eller ændres i Excel? 

I Excel er Sort funktion kan hjælpe dig med at sortere dato i stigende eller faldende rækkefølge efter behov. Men det er ikke dynamisk. Hvis du har sorteret datoen og derefter tilføjet en ny dato til den, skal du sortere den igen. Er der nogen gode og hurtige måder for dig at sortere datoen automatisk, når du indtaster en ny dato hver gang i et regneark?

Automatisk sorteringsdato, når dato indtastes eller ændres med formlen

Automatisk sorteringsdato, når dato indtastes eller ændres med VBA-kode


pil blå højre boble Automatisk sorteringsdato, når dato indtastes eller ændres med formlen

For eksempel kan den oprindelige dato i kolonne A, følgende formel hjælpe dig med automatisk at sortere datoen eller andre tekststrenge i en ny hjælpekolonne baseret på den kolonne, du vil sortere, gør som følger:

1. Indtast denne formel:

=INDEX($A$2:$A$15,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$15,"<="&$A$2:$A$15),0)) ind i en tom celle ved siden af ​​din datokolonne, C2, for eksempel, og tryk derefter på Ctrl + Skift + Enter nøgler sammen, og du får en nummersekvens, og træk derefter fyldhåndtaget ned til de celler, du vil bruge, se skærmbillede:

Bemærk: I ovenstående formel: A2: A15 er dit originale datointerval, som du automatisk vil sortere.

dok autosorter efter dato 1

2. Formater derefter tallene som datoformat ved at klikke på Kort dato fra Generelt rulleliste under Forside fane, se skærmbillede:

dok autosorter efter dato 2

3. Derefter er sekvensnumrene konverteret til datoformat, og den originale dato er også sorteret, se skærmbillede:

dok autosorter efter dato 3

4. Fra nu af, når du indtaster en ny dato eller ændrer datoen i kolonne A, sorteres datoen i kolonne C automatisk i stigende rækkefølge, se skærmbillede:

dok autosorter efter dato 4


pil blå højre boble Automatisk sorteringsdato, når dato indtastes eller ændres med VBA-kode

Følgende VBA-kode kan hjælpe dig med automatisk at sortere datoen i den originale kolonne, når du indtaster en ny dato eller ændrer datoen, som du har brug for.

1. Gå til regnearket, som du vil sortere datoen automatisk, når du indtaster eller ændrer en dato.

2. Højreklik på arkfanen, og vælg Vis kode fra genvejsmenuen, i poppet ud Microsoft Visual Basic til applikationer vindue, skal du kopiere og indsætte følgende kode i det tomme felt Moduler vindue, se skærmbillede:

VBA-kode: automatisk sortering, når dato indtastes eller ændres:

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 autosorter efter dato 6

Bemærk: I ovenstående kode bliver den indtastede dato automatisk sorteret i kolonne A, du kan ændre A1 og A2 til dine egne celler, som du har brug for.

3. Fra nu af, når du indtaster dato i kolonne A, sorteres datoen automatisk stigende.


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
officetab bund
Sorter kommentarer efter
Kommentarer (15)
Ingen vurderinger endnu. Vær den første til at bedømme!
Denne kommentar blev minimeret af moderatoren på webstedet
Du glemte at nævne, at formlen er array, og du skal ctrl+Shift+enter. Heldigvis havde du et skærmbillede, ellers ville din side være spild af cyberspace
Denne kommentar blev minimeret af moderatoren på webstedet
Hvad hvis der er en dubletdato på listen? Og jeg vil gerne have, at begge numre vises.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Ryan,

For at sortere datoen med dublerede, skal du anvende følgende 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,""))

Husk at trykke på Shift + Ctrl + Enter samtidig.

Håber det kan hjælpe dig, tak!
Denne kommentar blev minimeret af moderatoren på webstedet
Fantastisk :) Fungerer fint
Denne kommentar blev minimeret af moderatoren på webstedet
hvordan kan jeg lave den samme sorteringsberegning, men fra nyeste dato til ældste? I øjeblikket er det ældst til nyeste. Det er ikke nok at vende <-tegnet, og derudover har jeg ikke en stærk nok forståelse af, hvad det gør. Jeg tror også, at det, der kan ske, er, at excel automatisk fungerer fra top til bund, hvilket forårsager vanskeligheder.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Bo,

For automatisk at sortere datoen fra nyeste til ældste, skal du bare ændre <= til >= i ovenstående formel som følger:
=INDEX($A$2:$A$15,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$15,">="&$A$2:$A$15),0))
Når du har indsat denne formel, skal du huske at trykke på Ctrl + Shift + Enter samtidig for at få det korrekte resultat.
Prøv det venligst.
Denne kommentar blev minimeret af moderatoren på webstedet
Ud over de duplikerede datoer, er der også en måde at inkludere flere kolonner med data, når det sorteres? Jeg har brug for det til at inkludere flere kolonner og sortere dem alle sammen med udløbsdatoer.
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg lavede et checkhæfte, og det virker, men jeg vil gerne finde ud af, hvordan jeg laver min indtastning i datorækkefølge. Enhver hjælp ville blive værdsat. Jeg lærer stadig excel.
Denne kommentar blev minimeret af moderatoren på webstedet
Er der en bestemt formel til at holde cellerne efter den sorterede dato? Det ville være rart at organisere efter dato, men beholde hele rækken af ​​oplysninger. Enhver hjælp ville være meget værdsat.
Denne kommentar blev minimeret af moderatoren på webstedet
Med VBA-koden har jeg kopieret og indsat ovenstående, men ønsker at datoerne i kolonne F skal være de værdier, som dataene er sorteret efter. Jeg har ændret intervalværdierne til F2 og F3500 (størrelsen på regnearket, hvor række 1 er titler), men det sorteres stadig efter datoerne i kolonne A. Kan nogen hjælpe mig?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Ross,
Når du anvender koden til kolonne F, bør du ændre nogle referencer til dit behov som nedenstående kode:
Privat Sub Worksheet_Change (ByVal Target As Range)
'Opdatering af Extendoffice 20160606
On Error Resume Next
Hvis Application.Intersect(Target, Application.Columns(6)) er intet, så Afslut Sub
Hvis Target.Count > 1 Afslut Sub
Range("F1").Sorteringsnøgle1:=Range("F2"), rækkefølge1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

Prøv venligst, håber det kan hjælpe dig!
Denne kommentar blev minimeret af moderatoren på webstedet
Den VBA-kode er solidt guld! Tak skal du have! :-)
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, hvad hvis jeg vil gøre dette til flere kolonner eller endda have et nyt startpunkt i samme kolonne? Skal jeg bare lave en pause og kopiere VBA-koden i det samme vindue?
Tak.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, dette er et fantastisk værktøj. tak skal du have. Hvordan kan jeg anvende dette på flere kolonner i samme fane? Kunne jeg anvende det til at genstarte sortering efter dato i en ny celle i samme kolonne? Ville jeg bare genindsætte VBA-koden i det samme vindue?
Tak.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Noname9, hvordan har du det? At nå dit mål ved at bruge VBA-kode er uden for min rækkevidde. Men jeg ved, hvordan man bruger formler til at gøre tricket. Antag, at vi har to kolonner med datoer, f.eks. A2:B7. Hvordan sorterer man disse datoer i en ny kolonne? Gør venligst som følger.
Først skal vi kombinere de to kolonner med datoer til en kolonne. Kopiér og indsæt formlen =INDEX($A$2:$B$7,INT((ROWS(D$2:D2)-1)/2)+1,MOD(ROWS(D$2:D2)-1,2)+ 1) ind i celle D2. Og træk udfyldningshåndtaget ned for at kombinere alle datoer. Se venligst skærmbillede 1.
Derefter sorterer vi de kombinerede datoer. Kopiér og indsæt formlen =INDEX($D$2:$D$13,MATCH(ROWS($D$2:D2),COUNTIF($D$2:$D$13,"<="&$D$2:$D$13) ,0)) til F2. Og træk udfyldningshåndtaget ned for at sortere alle datoer. Se venligst skærmbillede 2.
Håber det vil hjælpe. Hav en god dag. Med venlig hilsen Mandy
Der er endnu ingen kommentarer her
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL