Как да сортирате по дата в Excel: хронологично, по месец, автоматично сортиране

  • Споделя Това
Michael Brown

В тази статия ще разгледаме различни начини за сортиране на дати в Excel. Ще научите как бързо да подреждате дати в хронологичен ред, да сортирате по месеци, игнорирайки години, да сортирате рождени дни по месеци и дни и как да сортирате автоматично по дати при въвеждане на нови стойности.

Вградените опции за сортиране на Excel са мощни и ефективни инструменти, но те не винаги работят правилно, когато става въпрос за сортиране на дати. В този урок ще научите няколко полезни трика, за да подредите Excel по дата по смислен начин, без да объркате данните си.

    Как да сортирате датите в хронологичен ред

    Подреждането на дати в хронологичен ред в Excel е много лесно. Възходящо сортиране опция:

    1. Изберете датите, които искате да подредите хронологично.
    2. На Начало в раздела Формати група, щракнете върху Сортиране и филтриране и изберете Сортиране от най-старо към най-ново . Като алтернатива можете да използвате ОТ А ДО Я опция в Данни в раздела Сортиране и филтриране група.

    Как да сортирате по дата в Excel

    Опциите за сортиране на Excel могат да се използват и за пренареждане на цялата таблица, а не само на една колона. За да сортирате записите по дата, като запазите редовете непокътнати, ключовият момент е да разширите избора, когато бъдете подканени.

    Ето подробните стъпки за сортиране на данни в Excel по дата:

    1. В електронната си таблица изберете датите без заглавието на колоната.
    2. На Начало щракнете върху Сортиране и филтриране и изберете Сортиране от най-старо към най-ново .

    3. Сайтът Предупреждение за сортиране Ще се появи диалогов прозорец. Оставете настройките по подразбиране Разширяване на избора избрана опция, и щракнете върху Сортиране :

    Записите са сортирани по дата и всички редове са събрани заедно:

    Как да сортирате по месец в Excel

    Възможно е да има моменти, в които искате да сортиране на датите по месец В този случай функцията за сортиране по подразбиране на Excel няма да работи, тъй като тя винаги взема предвид годината, дори ако клетките са форматирани да показват само месеца или месеца и деня.

    Решението е да добавите помощна колона, да извлечете номера на месеца и да сортирате по тази колона. За да получите месец от дата, използвайте функцията MONTH.

    На скрийншота по-долу извличаме номера на месеца от датата в B2 с тази формула:

    =МЕСЕЦ(B2)

    Съвет. Ако резултатът се показва като дата, а не като число, задайте Обща информация формат на клетките на формулата.

    А сега подредете таблицата си по Месец За тази цел изберете номерата на месеците (C2:C8), щракнете върху Сортиране и филтриране > Сортиране от най-малък към най-голям , а след това разширете селекцията, когато Excel ви помоли да го направите. Ако всичко е направено правилно, ще получите следния резултат:

    Моля, обърнете внимание, че нашите данни вече са подредени по месеци, без да се отчитат годините и дните в рамките на всеки месец. Ако искате да сортиране по месец и ден , след което следвайте инструкциите от следващия пример.

    Ако имената на месеците са въведени като текст , след което подредете по потребителски списък, както е обяснено в този пример.

    Как да сортирате рождените дни в Excel по месец и ден

    Когато подреждате дати за календар за рождени дни, оптималното решение е да подредите датите по месец и ден. Следователно ви е необходима формула, която да извлича месеците и дните от рождените дати.

    В този случай е полезна функцията TEXT на Excel, която може да преобразува дата в текстов низ в определен формат. За нашата цел ще работи кодът на формата "mmdd" или "mm.dd".

    С изходната дата в B2 формулата придобива следния вид:

    =TEXT(B2, "mm.dd")

    След това подредете Месец и ден от най-голямата до най-малката колона и ще получите данните, подредени по дните на всеки месец.

    Същият резултат може да се постигне, като се използва формулата DATE по следния начин:

    =DATE(2000, MONTH(B2),DAY(B2))

    Формулата генерира списък с дати, като извлича месеца и деня от действителната дата в B2 и замества истинската година с фалшива, 2000 в този пример, въпреки че можете да поставите всяка. Идеята е да имате една и съща година за всички дати и след това да сортирате списъка с дати в хронологичен ред. Тъй като годината е една и съща, датите ще бъдат сортирани по месец и ден, което е точно това, коетотърси.

    Как да сортирате данни по години в Excel

    Когато става въпрос за сортиране по години, най-лесният начин е да подредите датите в хронологичен ред с помощта на възходящото сортиране на Excel ( Най-старият към най-новият ).

    Това ще подреди датите по година, след това по месец и после по ден, както е показано на снимката по-долу.

    Ако по някаква причина не сте доволни от подобна организация, можете да добавите помощна колона с формулата YEAR, която извлича годината от датата:

    =ГОДИНА(C2)

    След сортиране на данните по Година ще забележите, че датите са подредени само по години, пренебрегване на месеци и дни .

    Съвет. Ако искате да сортиране на датите по ден без да вземате предвид месеците и годините, извлечете деня с помощта на функцията DAY и след това сортирайте по Ден колона:

    =DAY(B2)

    Как да сортирате по дни от седмицата в Excel

    За сортиране на данните по дни от седмицата също ще ви е необходима помощна колона, както в предишните примери. В този случай ще попълним помощната колона с формулата WEEKDAY, която връща число, съответстващо на деня от седмицата, и след това ще сортираме по помощната колона.

    За седмица, която започва от неделя (1) до събота (7), се използва тази формула:

    =СЕДМИЦА(A2)

    Ако седмицата ви започва от понеделник (1) до неделя (7), ето правилния вариант:

    =СЕДМИЦА(A2, 2)

    Където A2 е клетката, съдържаща датата.

    За този пример използвахме първата формула и получихме този резултат:

    В случай че имената на работните дни са въведени като текст , а не като дати, тогава използвайте функцията Custom Sort, както е обяснено в следващия пример.

    Как да сортирате данните в Excel по имена на месеци (или дни от седмицата)

    В случай че имате списък с имена на месеци като текст , а не като дати, форматирани за показване само на месеци, прилагането на възходящото сортиране на Excel може да се окаже проблем - то ще подреди имената на месеците по азбучен ред, вместо да ги подреди по реда на месеците от януари до декември. В този случай ще помогне персонализираното сортиране:

    1. Изберете записите, които искате да сортирате по име на месеца.
    2. На Данни в раздела Сортиране и филтриране група, щракнете върху Сортиране .
    3. В Сортиране диалогов прозорец, направете следното:
      • Под Колона , изберете името на колоната, която съдържа имената на месеците.
      • Под Сортиране на , изберете Стойности на клетките .
      • Под Поръчка , изберете Персонализиран списък .
    4. В Персонализирани списъци диалогов прозорец, изберете пълните имена на месеците ( януари , февруари , Март , ...) или кратки имена ( Ян , Feb , Мар ...) в зависимост от начина, по който са изброени месеците в работния лист:

  • Щракнете два пъти върху OK, за да затворите двата диалогови прозореца.
  • Готово! Вашите данни са сортирани по име на месеца в хронологичен ред, а не по азбучен:

    Съвет. За да сортирате по имена на дни от седмицата , изберете пълните имена ( Неделя , Понеделник , Вторник , ...) или кратки имена ( Sun , Mon , Вторник ...) в Персонализирани списъци диалогов прозорец.

    Как да сортирате автоматично по дата в Excel

    Както видяхте, функцията за сортиране на Excel се справя с различни предизвикателства. Единственият недостатък е, че тя не е динамична. Това означава, че ще трябва да сортирате отново данните си при всяка промяна и при всяко добавяне на нова информация. Може би се чудите дали има начин да сортирате автоматично при всяко добавяне на нова дата, така че данните ви да са винаги подредени.

    Най-добрият начин да постигнете това е като използвате макрос. По-долу ще намерите няколко примера за код за автоматично сортиране на следните данни по дата в хронологичен ред.

    Макрос 1: Автоматично сортиране при всяка промяна на работния лист

    Този макрос се изпълнява при всяка промяна в работния лист.

    Предполага се, че данните ви са в колони от A до C, а датите, по които искате да сортирате, са в колона C, започвайки от C2. Предполага се също, че ред 1 съдържа заглавия (Header:=xlYes). Ако записите ви са в различни колони, направете следните корекции:

    • Променете препратката A1 към горната лява клетка на целевия диапазон (включително заглавията).
    • Променете препратката C2 към най-горната клетка, съдържаща дата.
    Private Sub Worksheet_Change( ByVal Target As Range) On Error Resume Next Range( "A1" ).Sort Key1:=Range( "C2" ), _ Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:= False , _ Orientation:=xlTopToBottom End Sub

    Макрос 2: Автоматично сортиране при промени в определен диапазон

    Ако работите с огромен работен лист, който съдържа много информация, повторното сортиране при абсолютно всяка промяна в листа може да се окаже проблематично. В този случай е разумно да ограничите задействането на макроса до промените, които настъпват в определен диапазон. Следният код VBA сортира данните само при промяна в колона C, която съдържа датите.

    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 Sub

    Съвет. Тези макроси могат да се използват за автоматично сортиране по всеки тип данни , а не само дати. Нашите примерни кодове сортират във възходящ ред. Ако искате да сортиране по низходящ ред , променете Order1:=xlAscending на Order1:=xlDescending.

    Как да добавите макроса към работния си лист

    Тъй като и двата макроса се стартират автоматично при промяна на работния лист, кодът трябва да се вмъкне в листа, в който искате да сортирате данните (лист 1 в този пример):

    1. Натиснете Alt + F11, за да отворите редактора VBA.
    2. В Проект Explorer вляво, щракнете два пъти върху листа, в който искате да сортирате автоматично.
    3. Поставете кода в прозореца Код.

    Автоматично сортиране на дати с формула

    Да предположим, че имате списък с дати и искате да ги подредите автоматично в хронологичен ред в отделна колона, редом с оригиналния списък. Това може да стане със следната формула за масиви:

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

    Където A2:A20 са първоначалните (несортирани) дати, включително няколко празни клетки за евентуални нови записи.

    Въведете формулата в празна клетка до колоната с оригиналните дати (C2 в този пример) и натиснете едновременно клавишите Ctrl + Shift + Enter, за да я завършите. След това плъзнете формулата надолу към останалите клетки (C2:C20 в нашия случай).

    Съвет: За да се сортират автоматично новодобавените дати, не забравяйте да включите достатъчен брой празни клетки в посочения диапазон. Например нашият списък с дати е в диапазона A2:A7, но ние въвеждаме $A$2:$A$20 във формулата и го попълваме в клетките от C2 до C20. Функцията IFERROR предотвратява грешки в допълнителните клетки, като вместо това връща празен низ ("").

    Сортирането на Excel по дата не работи

    Ако вашите дати не са подредени както трябва, най-вероятно те са въведени във формат, който Excel не разбира, поради което се възприемат като текстови низове, а не като дати. В следващия урок е обяснено как да разграничите така наречените "текстови дати" и да ги преобразувате в нормални дати в Excel: Как да преобразуваме текст в дата в Excel.

    Ето как да сортирате по дата в Excel. Благодаря ви, че прочетохте, и се надявам да се видим в нашия блог следващата седмица!

    Налични изтегляния

    Примери за формула за сортиране по дата (.xlsx файл)

    Макрос за автоматично сортиране (.xlsm файл)

    Майкъл Браун е отдаден технологичен ентусиаст със страст към опростяване на сложни процеси с помощта на софтуерни инструменти. С повече от десетилетие опит в технологичната индустрия, той е усъвършенствал уменията си в Microsoft Excel и Outlook, както и в Google Sheets и Docs. Блогът на Майкъл е посветен на споделянето на неговите знания и опит с други, предоставяйки лесни за следване съвети и уроци за подобряване на продуктивността и ефективността. Независимо дали сте опитен професионалист или начинаещ, блогът на Michael предлага ценни прозрения и практически съвети за извличане на максимума от тези основни софтуерни инструменти.