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

Cum se sortează automat data când data este introdusă sau modificată în Excel? 

În Excel, fișierul Sortează funcția vă poate ajuta să sortați data în ordine crescătoare sau descendentă după cum aveți nevoie. Dar nu este dinamic, dacă ați sortat data și apoi adăugați o dată nouă, ar trebui să o sortați din nou. Există modalități bune și rapide de a sorta automat data când introduceți data nouă de fiecare dată într-o foaie de lucru?

Sortează automat data când data este introdusă sau modificată cu formula

Sortați automat data când data este introdusă sau modificată cu codul VBA


săgeată albastru dreapta balon Sortează automat data când data este introdusă sau modificată cu formula

De exemplu, data originală din coloana A, următoarea formulă vă poate ajuta să sortați automat data sau orice alte șiruri de text într-o nouă coloană de asistență pe baza coloanei pe care doriți să o sortați, vă rugăm să faceți următoarele:

1. Introduceți această formulă:

=INDEX($A$2:$A$15,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$15,"<="&$A$2:$A$15),0)) într-o celulă goală lângă coloana dată, C2, de exemplu, și apoi apăsați Ctrl + Shift + Enter tastele împreună și veți obține o secvență numerică, apoi trageți mânerul de umplere în jos în celulele pe care doriți să le utilizați, consultați captura de ecran:

notițe: În formula de mai sus: A2: A15 este intervalul dvs. original de date pe care doriți să îl sortați automat.

doc autosort după data 1

2. Apoi formatați numerele ca format de dată făcând clic pe Data scurtă de la General lista derulantă sub Acasa fila, vezi captura de ecran:

doc autosort după data 2

3. Apoi, numerele de ordine au fost convertite în formatul de dată și data originală a fost sortată, de asemenea, a se vedea captura de ecran:

doc autosort după data 3

4. De acum înainte, când introduceți o dată nouă sau modificați data în coloana A, data din coloana C va fi sortată automat în ordine crescătoare, a se vedea captura de ecran:

doc autosort după data 4


săgeată albastru dreapta balon Sortați automat data când data este introdusă sau modificată cu codul VBA

Următorul cod VBA vă poate ajuta să sortați automat data în coloana originală atunci când introduceți o dată nouă sau modificați data după cum aveți nevoie.

1. Accesați foaia de lucru pe care doriți să o sortați automat data când introduceți sau modificați o dată.

2. Faceți clic dreapta pe fila foaie și selectați Afișați codul din meniul contextual, în fereastra pop-out Microsoft Visual Basic pentru aplicații fereastra, copiați și lipiți următorul cod în spațiul gol Module fereastră, vezi captura de ecran:

Cod VBA: sortare automată la introducerea sau modificarea datei:

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

doc autosort după data 6

notițe: În codul de mai sus, data introdusă va fi sortare automată în coloana A, pe care o puteți modifica A1 și A2 către propriile celule după cum aveți nevoie.

3. De acum înainte, când introduceți data în coloana A, data va fi sortată crescând automat.


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (15)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Ați uitat să menționați că formula este matrice și trebuie să faceți Ctrl+Shift+Enter. Din fericire, ai avut o captură de ecran sau pagina ta ar fi o risipă de spațiu cibernetic
Acest comentariu a fost redus la minimum de moderatorul de pe site
Ce se întâmplă dacă există o dată dublură în listă? Și vreau să apară ambele numere.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Ryan,

Pentru a sorta data cu date duplicate, ar trebui să aplicați următoarea formulă:

=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,""))

Vă rugăm să nu uitați să apăsați simultan tastele Shift + Ctrl + Enter.

Sper că te poate ajuta, mulțumesc!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Minunat :) Funcționează bine
Acest comentariu a fost redus la minimum de moderatorul de pe site
cum pot face același calcul de sortare, dar de la cea mai nouă dată la cea mai veche? În prezent, este de la cel mai vechi la cel mai nou. Întoarcerea semnului < nu este suficient și, dincolo de asta, nu am o înțelegere suficient de puternică a ceea ce face. De asemenea, cred că ceea ce s-ar putea întâmpla este că excel funcționează automat de sus în jos, provocând dificultăți.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Bo,

Pentru a sorta automat data de la cea mai nouă la cea mai veche, trebuie doar să schimbați <= la >= în formula de mai sus, după cum urmează:
=INDEX($A$2:$A$15,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$15,">="&$A$2:$A$15),0))
După introducerea acestei formule, vă rugăm să nu uitați să apăsați simultan tastele Ctrl + Shift + Enter pentru a obține rezultatul corect.
Vă rugăm să încercați.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Pe lângă datele duplicate, există și o modalitate de a include mai multe coloane de date atunci când sortează? Am nevoie ca acesta să includă mai multe coloane și să le sorteze pe toate împreună cu datele de expirare.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am supărat un registru de cecuri și funcționează, dar vreau să îmi dau seama cum să fac ca intrarea mea să intre în ordinea datei. Orice ajutor ar fi apreciat. Încă învăț excel.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Există o formulă specială pentru a păstra celulele după data sortată? Ar fi bine să organizați după dată, dar păstrați întregul rând de informații. Orice ajutor ar fi foarte apreciat.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Cu codul VBA, am copiat și lipit cele de mai sus, dar doresc ca datele din coloana F să fie valorile după care sunt sortate datele. Am schimbat valorile intervalului la F2 și F3500 (dimensiunea foii de calcul unde rândul 1 este titluri), dar tot se sortează după datele din coloana A. Mă poate ajuta cineva, vă rog?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Ross,
Când aplicați codul în coloana F, ar trebui să modificați unele referințe la nevoia dvs., după cum urmează:
Subsol de lucrări private_Change (țintă ByVal ca rază de acțiune)
'Actualizare de Extendoffice 20160606
La data de eroare CV următoare
Dacă Application.Intersect(Target, Application.Columns(6)) nu este nimic, atunci ieșiți din sub
Dacă Target.Count > 1, apoi Ieșiți din sub
Interval ("F1"). Sort Key1:=Range ("F2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

Vă rugăm să încercați, sper că vă poate ajuta!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Codul VBA este aur solid! Mulțumesc! :-)
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună ziua, ce se întâmplă dacă vreau să fac asta pentru mai multe coloane sau chiar să am un nou punct de pornire în aceeași coloană? Fac doar o pauză și copiez codul VBA în aceeași fereastră?
Mulțumesc.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Acesta este un instrument grozav. mulțumesc. Cum pot aplica acest lucru la mai multe coloane din aceeași filă? L-aș putea aplica pentru a reporni sortarea după dată într-o nouă celulă din aceeași coloană? Aș reintroduce codul VBA în aceeași fereastră?
Mulțumesc.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Noname9, ce mai faci? Pentru a vă atinge obiectivul prin utilizarea codului VBA este dincolo de atingerea mea. Dar știu cum să folosesc formule pentru a face truc. Să presupunem că avem două coloane de date, să spunem A2:B7. Cum să sortați aceste date într-o coloană nouă? Vă rugăm să faceți după cum urmează.
În primul rând, trebuie să combinăm cele două coloane de date într-o singură coloană. Copiați și inserați formula =INDEX($A$2:$B$7,INT((ROWS(D$2:D2)-1)/2)+1,MOD(ROWS(D$2:D2)-1,2)+ 1) în celula D2. Și trageți mânerul de umplere în jos pentru a combina toate datele. Vă rugăm să vedeți captura de ecran 1.
Apoi, vom sorta datele combinate. Copiați și inserați formula =INDEX($D$2:$D$13,MATCH(ROWS($D$2:D2),COUNTIF($D$2:$D$13),"<="&$D$2:$D$13) ,0)) în F2. Și trageți mânerul de umplere în jos pentru a sorta toate datele. Vă rugăm să vedeți captura de ecran 2.
Sper că va ajuta. Să ai o zi bună. Cu stimă, Mandy
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL