Cuprins
În acest articol, vom examina diferite modalități de sortare a datelor în Excel. Veți învăța cum să aranjați rapid datele în ordine cronologică, să sortați după lună ignorând anii, să sortați zilele de naștere după lună și zi și cum să sortați automat după dată atunci când introduceți valori noi.
Opțiunile de sortare încorporate în Excel sunt instrumente puternice și eficiente, dar nu funcționează întotdeauna corect atunci când vine vorba de sortarea datelor. Acest tutorial vă va învăța câteva trucuri utile pentru a aranja Excel în funcție de dată într-un mod semnificativ, fără a vă încurca datele.
Cum să sortați datele în ordine cronologică
Aranjarea datelor în ordine cronologică în Excel este foarte simplă. Trebuie doar să folosiți funcția standard Sortare ascendentă opțiune:
- Selectați datele pe care doriți să le sortați cronologic.
- Pe Acasă în fila Formate grup, faceți clic pe Sortare & Filtrare și selectați Sortează de la cel mai vechi la cel mai nou Alternativ, puteți utiliza funcția A-Z de la opțiunea Date în fila Sortare & Filtrare grup.
Cum să sortați după dată în Excel
Opțiunile de sortare din Excel pot fi folosite și pentru a rearanja întregul tabel, nu doar o singură coloană. Pentru a sorta înregistrările după dată, păstrând rândurile intacte, punctul cheie este să extindeți selecția atunci când vi se solicită.
Iată pașii detaliați pentru a sorta datele în Excel în funcție de dată:
- În foaia de calcul, selectați datele fără antetul coloanei.
- Pe Acasă fila, faceți clic pe Sortare & Filtrare și alegeți Sortează de la cel mai vechi la cel mai nou .
- The Avertizare de sortare Se va afișa caseta de dialog Lăsați setările implicite Extindeți selecția selectată și faceți clic pe Sortare :
Gata! Înregistrările au fost sortate în funcție de dată și toate rândurile sunt păstrate împreună:
Cum să sortați după lună în Excel
Pot exista momente în care doriți să sortează datele după lună ignorarea anului, de exemplu, atunci când grupați datele aniversare ale colegilor sau rudelor dvs. În acest caz, funcția de sortare implicită a Excel nu va funcționa, deoarece ia întotdeauna în considerare anul, chiar dacă celulele dvs. sunt formatate pentru a afișa doar luna sau luna și ziua.
Soluția este de a adăuga o coloană ajutătoare, de a extrage numărul lunii și de a sorta după această coloană. Pentru a obține o lună din dată, utilizați funcția MONTH.
În captura de ecran de mai jos, extragem numărul lunii din data din B2 cu această formulă:
=MONTH(B2)
Sfat. Dacă rezultatul este afișat sub formă de dată și nu de număr, setați General formatul celulelor de formulă.
Și acum, sortați tabelul dvs. în funcție de Luna Pentru aceasta, selectați numerele lunilor (C2:C8), faceți clic pe Sortare & Filtrare > Sortează de la cel mai mic la cel mai mare , iar apoi extindeți selecția atunci când Excel vă cere să faceți acest lucru. Dacă totul s-a făcut corect, veți obține următorul rezultat:
Vă rugăm să fiți atenți la faptul că datele noastre sunt acum ordonate pe luni, ignorând anii și zilele din fiecare lună. Dacă doriți să sortare după lună și zi , apoi urmați instrucțiunile din exemplul următor.
În cazul în care denumirile lunilor sunt introduse ca text , apoi sortați după o listă personalizată, așa cum se explică în acest exemplu.
Cum să sortați zilele de naștere în Excel după lună și zi
Atunci când aranjați datele pentru un calendar de zile de naștere, soluția optimă va fi sortarea datelor în funcție de lună și zi. În consecință, aveți nevoie de o formulă care să extragă lunile și zilele din datele de naștere.
În acest caz, funcția Excel TEXT, care poate converti o dată într-un șir de text în formatul specificat, este utilă. Pentru scopul nostru, va funcționa codul formatului "mmdd" sau "mm.dd".
Cu data sursă în B2, formula ia forma următoare:
=TEXT(B2, "mm.dd")
În continuare, sortați Luna și ziua de la cea mai mare la cea mai mică coloană și veți avea datele aranjate în ordinea zilelor din fiecare lună.
Același rezultat poate fi obținut prin utilizarea formulei DATE astfel:
=DATE(2000, LUNA(B2),ZIUA(B2))
Formula generează o listă de date extrăgând luna și ziua din data reală din B2 și înlocuind anul real cu unul fals, 2000 în acest exemplu, deși puteți pune oricare. Ideea este de a avea același an pentru toate datele, iar apoi să sortați lista de date în ordine cronologică. Deoarece anul este același, datele vor fi sortate după lună și zi, ceea ce este exact ceea ce suntețicăutăm.
Cum să sortați datele după an în Excel
Când vine vorba de sortarea după an, cel mai simplu este să aranjați datele în ordine cronologică cu sortarea ascendentă din Excel ( De la cel mai vechi la cel mai nou ).
Aceasta va sorta datele după an, apoi după lună și apoi după zi, așa cum se arată în imaginea de mai jos.
Dacă, dintr-un motiv oarecare, nu sunteți mulțumit de un astfel de aranjament, puteți adăuga o coloană ajutătoare cu formula YEAR care extrage anul din dată:
=YEAR(C2)
După sortarea datelor în funcție de Anul veți observa că datele sunt ordonate numai pe ani, ignorând lunile și zilele .
Sfat: dacă doriți să sortează datele în funcție de zi fără a lua în considerare lunile și anii, extrageți ziua folosind funcția DAY și apoi sortați după Ziua coloană:
=DAY(B2)
Cum să sortați după zilele săptămânii în Excel
Pentru a sorta datele în funcție de ziua săptămânii, veți avea nevoie și de o coloană de ajutor, la fel ca în exemplele anterioare. În acest caz, vom completa coloana de ajutor cu formula WEEKDAY, care returnează un număr corespunzător zilei săptămânii, iar apoi vom sorta în funcție de coloana de ajutor.
Pentru o săptămână care începe de duminică (1) până sâmbătă (7), aceasta este formula care trebuie utilizată:
=WEEKDAY(A2)
Dacă săptămâna ta începe de luni (1) până duminică (7), acesta este cel mai potrivit:
=WEEKDAY(A2, 2)
Unde A2 este celula care conține data.
Pentru acest exemplu, am folosit prima formulă și am obținut acest rezultat:
În cazul în care numele zilelor săptămânii sunt introduse ca text , nu ca date, atunci utilizați funcția de sortare personalizată, așa cum se explică în exemplul următor.
Cum să sortați datele în Excel după numele lunii (sau după numele zilelor săptămânii)
În cazul în care aveți o listă de nume de luni ca text , nu ca date formatate pentru a afișa doar lunile, aplicarea sortării ascendente a Excel ar putea fi o problemă - va aranja numele lunilor în ordine alfabetică în loc să sorteze în ordinea lunilor, din ianuarie până în decembrie. În acest caz, o sortare personalizată va fi de ajutor:
- Selectați înregistrările pe care doriți să le sortați după numele lunii.
- Pe Date în fila Sortare & Filtrare grup, faceți clic pe Sortare .
- În Sortare faceți următoarele:
- Sub Coloana , selectați numele coloanei care conține numele lunilor.
- Sub Sortare pe , alege Valorile celulelor .
- Sub Comandă , selectați Lista personalizată .
- În Liste personalizate caseta de dialog, selectați fie numele complet al lunii ( Ianuarie , Februarie , Martie , ...) sau nume scurte ( Jan , Feb , Mar ...) în funcție de modul în care sunt listate lunile în foaia de calcul:
Gata! Datele dvs. au fost sortate după numele lunii în ordine cronologică, nu în ordine alfabetică:
Sfat. Pentru a sorta după numele de zile ale săptămânii , selectați fie numele și prenumele ( Duminică , Luni , Marți , ...) sau nume scurte ( Sun , Luni , Marți ...) în Liste personalizate caseta de dialog.
Cum să sortați automat după dată în Excel
După cum ați văzut, funcția de sortare din Excel face față unei varietăți de provocări. Singurul dezavantaj este că nu este dinamică. Ceea ce înseamnă că va trebui să sortați din nou datele la fiecare modificare și ori de câte ori se adaugă noi informații. Poate vă întrebați dacă există o modalitate de a sorta automat de fiecare dată când se adaugă o nouă dată, astfel încât datele să fie întotdeauna în ordine.
Cel mai bun mod de a realiza acest lucru este folosind o macro. Mai jos, veți găsi câteva exemple de coduri pentru a sorta automat următoarele date după dată în ordine cronologică.
Macro 1: Sortare automată la fiecare modificare a foii de lucru
Această macro este executată ori de câte ori are loc o modificare oriunde în foaia de lucru.
Se presupune că datele dvs. se află în coloanele A până la C, iar datele după care doriți să le sortați se află în coloana C, începând cu C2. Se presupune, de asemenea, că rândul 1 conține anteturi (Header:=xlYes). Dacă înregistrările dvs. se află în coloane diferite, efectuați următoarele ajustări:
- Schimbați referința A1 în celula din stânga sus a intervalului țintă (inclusiv anteturile).
- Schimbați referința C2 la cea mai de sus celulă care conține o dată.
Macro 2: Sortare automată atunci când se fac modificări într-un anumit interval
Dacă lucrați cu o foaie de calcul imensă care conține multe informații, reorânduirea cu absolut orice modificare în foaie poate fi supărătoare. În acest caz, este logic să limitați declanșarea macroului la modificările care au loc într-un anumit interval. Următorul cod VBA sortează datele numai atunci când se face o modificare în coloana C care conține datele.
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 SubSfat: Aceste macro-uri pot fi folosite pentru a sorta automat după orice tip de date codurile noastre de probă sortează în ordine crescătoare. Dacă doriți să sortare descrescătoare , modificați Order1:=xlAscending în Order1:=xlDescending.
Cum să adăugați macroul la foaia de calcul
Deoarece ambele macro-uri sunt rulate automat la modificarea unei foi de calcul, codul trebuie inserat în foaia în care doriți să sortați datele (Foaia1 în acest exemplu). Iată cum:
- Apăsați Alt + F11 pentru a deschide editorul VBA.
- În Proiect Explorer în partea stângă, faceți dublu clic pe foaia în care doriți să efectuați sortarea automată.
- Lipiți codul în fereastra Code.
Auto sortare date cu formula
Să presupunem că aveți o listă de date și doriți ca acestea să fie aranjate automat în ordine cronologică într-o coloană separată, alături de lista originală. Acest lucru se poate realiza cu următoarea formulă de matrice:
=IFERROR(INDEX($A$2:$A$20, MATCH(ROWS($A$2:A2), COUNTIF($A$2:$A$20, "<="&$A$2:$A$20), 0)), ""), "")
Unde A2:A20 sunt datele originale (nesortate), inclusiv câteva celule goale pentru eventuale intrări noi.
Introduceți formula într-o celulă goală de lângă coloana cu datele originale (C2 în acest exemplu) și apăsați simultan tastele Ctrl + Shift + Enter pentru a o completa. Apoi, trageți formula în jos în celulele rămase (C2:C20 în cazul nostru).
Sfat: Pentru ca datele nou adăugate să fie sortate automat, asigurați-vă că includeți un număr suficient de celule goale în intervalul menționat. De exemplu, lista noastră de date se află în intervalul A2:A7, dar furnizăm $A$2:$A$20 în formulă și o completăm în celulele C2 până la C20. Funcția IFERROR previne erorile din celulele suplimentare, returnând în schimb un șir gol ("").
Excel sortare după dată nu funcționează
Dacă datele dvs. nu sunt sortate așa cum ar trebui, cel mai probabil sunt introduse într-un format pe care Excel nu îl poate înțelege, prin urmare, sunt percepute ca șiruri de text și nu ca date. Următorul tutorial explică cum să distingem așa-numitele "date text" și să le convertim în date Excel normale: Cum să convertim textul în date în Excel.
Iată cum se sortează după dată în Excel. Vă mulțumesc pentru lectură și sper să ne revedem pe blog săptămâna viitoare!
Descărcări disponibile
Exemple de formule de sortare în funcție de dată (fișier .xlsx)
Macro de sortare automată (fișier .xlsm)