Jak sortować według daty w Excelu: chronologicznie, według miesiąca, sortowanie automatyczne

  • Udostępnij To
Michael Brown

W tym artykule przyjrzymy się różnym sposobom sortowania dat w Excelu. Dowiesz się, jak szybko ułożyć daty w porządku chronologicznym, sortować według miesiąca ignorując lata, sortować daty urodzin według miesiąca i dnia oraz jak automatycznie sortować według daty podczas wprowadzania nowych wartości.

Wbudowane opcje sortowania w Excelu są potężnymi i skutecznymi narzędziami, ale nie zawsze działają poprawnie, jeśli chodzi o sortowanie dat. Ten samouczek nauczy cię kilku przydatnych sztuczek, aby uporządkować Excel według daty w znaczący sposób, bez bałaganu w twoich danych.

    Jak posortować daty w porządku chronologicznym

    Układanie dat w porządku chronologicznym w Excelu jest bardzo proste. Wystarczy użyć standardowego Sortowanie rosnące opcja:

    1. Wybierz daty, które chcesz posortować chronologicznie.
    2. Na Strona główna zakładka, w Formaty grupa, kliknij Sortowanie & Filtr i wybrać Sortuj od najstarszego do najnowszego Alternatywnie, możesz użyć A-Z opcja na Dane zakładka, w Sortowanie & Filtr grupa.

    Jak sortować według daty w programie Excel

    Opcje sortowania w Excelu mogą być również wykorzystywane do zmiany układu całej tabeli, a nie tylko pojedynczej kolumny. Aby posortować rekordy według daty zachowując nienaruszone wiersze, kluczowym punktem jest rozwinięcie zaznaczenia, gdy pojawi się monit.

    Oto szczegółowe kroki sortowania danych w programie Excel według daty:

    1. W swoim arkuszu kalkulacyjnym wybierz daty bez nagłówka kolumny.
    2. Na Strona główna zakładka, kliknij Sortowanie & Filtr i wybrać Sortuj od najstarszego do najnowszego .

    3. Na stronie Ostrzeżenie dotyczące sortowania Zostanie wyświetlone okno dialogowe. Rozwiń wybór zaznaczoną opcję, a następnie kliknij Sortuj :

    To wszystko! Rekordy zostały posortowane według daty, a wszystkie wiersze są przechowywane razem:

    Jak sortować według miesiąca w programie Excel

    Może się zdarzyć, że będziesz chciał sortowanie dat według miesiąca ignorując rok, na przykład podczas grupowania dat rocznic kolegów lub krewnych. W tym przypadku domyślna funkcja sortowania w Excelu nie zadziała, ponieważ zawsze bierze pod uwagę rok, nawet jeśli twoje komórki są sformatowane tak, aby wyświetlać tylko miesiąc lub miesiąc i dzień.

    Rozwiązaniem jest dodanie kolumny pomocniczej, wyodrębnienie numeru miesiąca i sortowanie według tej kolumny. Aby uzyskać miesiąc z daty, użyj funkcji MONTH.

    Na poniższym zrzucie ekranu wyodrębniamy numer miesiąca z daty w B2 za pomocą tej formuły:

    =MONTH(B2)

    Wskazówka. Jeśli wynik jest wyświetlany jako data, a nie liczba, należy ustawić Ogólne format do komórek formuły.

    A teraz posortuj swoją tabelę według Miesiąc W tym celu należy wybrać numery miesięcy (C2:C8), kliknąć Sortowanie & Filtr > Sortuj od najmniejszego do największego , a następnie rozwinąć zaznaczenie, gdy Excel o to poprosi. Jeśli wszystko zostanie wykonane poprawnie, otrzymasz następujący wynik:

    Proszę zwrócić uwagę, że nasze dane są teraz sortowane według miesięcy, ignorując lata i dni w obrębie każdego miesiąca. Jeśli chcesz sortowanie według miesiąca i dnia , a następnie postępuj zgodnie z instrukcjami z kolejnego przykładu.

    Jeśli nazwy miesięcy zostaną wprowadzone jako tekst , a następnie posortuj według niestandardowej listy, jak wyjaśniono w tym przykładzie.

    Jak posortować daty urodzin w programie Excel według miesiąca i dnia

    Przy układaniu dat do kalendarza urodzinowego optymalnym rozwiązaniem będzie sortowanie dat według miesiąca i dnia. W związku z tym potrzebna jest formuła, która wyciągałaby miesiące i dni z dat urodzenia.

    W tym przypadku z pomocą przychodzi funkcja Excel TEXT, która potrafi przekonwertować datę na ciąg tekstowy w określonym formacie. Dla naszego celu sprawdzi się kod formatu "mmdd" lub "mm.dd".

    Mając datę źródłową w B2, formuła przyjmuje taką postać:

    =TEXT(B2, "mm.dd")

    Następnie posortuj Miesiąc i dzień kolumnę od największej do najmniejszej, a będziesz miał dane ułożone w kolejności dni każdego miesiąca.

    Ten sam rezultat można uzyskać, używając formuły DATE w taki sposób:

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

    Formuła generuje listę dat poprzez wyodrębnienie miesiąca i dnia z rzeczywistej daty w B2 i zastąpienie prawdziwego roku fałszywym, 2000 w tym przykładzie, choć można umieścić dowolny. Chodzi o to, aby mieć ten sam rok dla wszystkich dat, a następnie posortować listę dat w porządku chronologicznym. Ponieważ rok jest taki sam, daty zostaną posortowane według miesiąca i dnia, co jest dokładnie tym, co zamierzaszposzukujących.

    Jak posortować dane według roku w programie Excel

    Jeśli chodzi o sortowanie według roku, najprostszym sposobem jest ułożenie dat w porządku chronologicznym za pomocą sortowania rosnącego w Excelu ( Najstarszy do najnowszego ) opcja.

    Spowoduje to posortowanie dat według roku, następnie według miesiąca, a następnie według dnia, jak pokazano na poniższym zrzucie ekranu.

    Jeśli z jakiegoś powodu nie odpowiada Ci taki układ, to możesz dodać kolumnę pomocniczą z formułą YEAR, która wyodrębnia rok z daty:

    =ROK(C2)

    Po posortowaniu danych wg. Rok kolumny, zauważysz, że daty są posortowane tylko według roku, ignorowanie miesięcy i dni .

    Wskazówka. Jeśli chcesz sortowanie dat według dnia pomijając miesiące i lata, wyodrębnij dzień za pomocą funkcji DAY, a następnie posortuj według Dzień kolumna:

    =DAY(B2)

    Jak sortować według dni tygodnia w programie Excel

    Aby posortować dane według dni tygodnia, będziesz potrzebował kolumny pomocniczej, tak jak w poprzednich przykładach. W tym przypadku wypełnimy kolumnę pomocniczą formułą WEEKDAY, która zwraca liczbę odpowiadającą dniu tygodnia, a następnie posortujemy według kolumny pomocniczej.

    Dla tygodnia, który zaczyna się od niedzieli (1) do soboty (7), jest to wzór do wykorzystania:

    =WEEKDAY(A2)

    Jeśli Twój tydzień zaczyna się od poniedziałku (1) do niedzieli (7), to tutaj jest ten właściwy:

    =WEEKDAY(A2, 2)

    Gdzie A2 to komórka zawierająca datę.

    Dla tego przykładu użyliśmy pierwszej formuły i otrzymaliśmy taki wynik:

    W przypadku, gdy nazwy dni tygodnia zostaną wprowadzone jako tekst , a nie jako daty, to użyj funkcji Sortowanie niestandardowe, jak wyjaśniono w następnym przykładzie.

    Jak sortować dane w Excelu według nazw miesięcy (lub nazw dni tygodnia)

    W przypadku, gdy masz listę nazw miesięcy jako tekst , nie jako daty sformatowane do wyświetlania tylko miesięcy, zastosowanie sortowania rosnącego Excela może być problemem - ułoży nazwy miesięcy alfabetycznie zamiast sortować według kolejności miesięcy od stycznia do grudnia. W tym przypadku pomoże sortowanie niestandardowe:

    1. Wybierz rekordy, które chcesz posortować według nazwy miesiąca.
    2. Na Dane zakładka, w Sortowanie & Filtr grupa, kliknij Sortuj .
    3. W Sortuj okna dialogowego, wykonaj następujące czynności:
      • Pod adresem Kolumna , wybierz nazwę kolumny, która zawiera nazwy miesięcy.
      • Pod adresem Sortuj na , wybierać Cell Values .
      • Pod adresem Zamówienie , wybrany Własna lista .
    4. W Listy niestandardowe W oknie dialogowym wybierz pełne nazwy miesięcy ( Styczeń , Luty , Marzec , (...)) lub nazwy skrócone (. Jan , Luty , Mar ...) w zależności od tego, jak miesiące są wymienione w Twoim arkuszu:

  • Kliknij dwukrotnie przycisk OK, aby zamknąć oba okna dialogowe.
  • Twoje dane zostały posortowane według nazw miesięcy w porządku chronologicznym, a nie alfabetycznym:

    Wskazówka. Aby posortować według nazwy dni tygodnia , wybierz albo pełne nazwy ( Niedziela , Poniedziałek , Wtorek , (...)) lub nazwy skrócone (. Sun , Mon , Tue (...) w. Listy niestandardowe okno dialogowe.

    Jak automatycznie sortować według daty w programie Excel

    Jak widzisz, funkcja sortowania w Excelu radzi sobie z różnymi wyzwaniami. Jedyną jej wadą jest to, że nie jest dynamiczna, co oznacza, że będziesz musiał ponownie sortować swoje dane przy każdej zmianie i za każdym razem, gdy zostaną dodane nowe informacje. Być może zastanawiasz się, czy istnieje sposób na automatyczne sortowanie za każdym razem, gdy dodawana jest nowa data, aby Twoje dane były zawsze uporządkowane.

    Najlepszym sposobem na osiągnięcie tego celu jest użycie makra. Poniżej znajdziesz kilka przykładów kodu do automatycznego sortowania następujących danych według daty w porządku chronologicznym.

    Makro 1: Automatyczne sortowanie przy każdej zmianie arkusza

    To makro jest wykonywane przy każdej zmianie w dowolnym miejscu arkusza.

    Zakłada się, że dane znajdują się w kolumnach od A do C, a daty, według których chcesz sortować, znajdują się w kolumnie C, zaczynając od C2. Zakłada się również, że wiersz 1 zawiera nagłówki (Nagłówek:=xlTak). Jeśli twoje rekordy znajdują się w różnych kolumnach, to dokonaj następujących zmian:

    • Zmień odwołanie A1 na lewą górną komórkę zakresu docelowego (łącznie z nagłówkami).
    • Zmień odwołanie C2 na najwyższą komórkę zawierającą datę.
    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.

    Makro 2: Automatyczne sortowanie po wprowadzeniu zmian w określonym zakresie

    Jeśli pracujesz z ogromnym arkuszem, który zawiera wiele informacji, ponowne sortowanie przy absolutnie każdej zmianie w arkuszu może być kłopotliwe. W takim przypadku sensowne jest ograniczenie wyzwalania makra do zmian, które zachodzą w określonym zakresie. Poniższy kod VBA sortuje dane tylko wtedy, gdy w kolumnie C zawierającej daty zostanie dokonana zmiana.

    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.

    Wskazówka. Te makra mogą być używane do automatycznego sortowania według dowolny typ danych Nasze przykładowe kody sortują w kolejności rosnącej. Jeśli chcesz sortowanie malejące , zmień Order1:=xlAscending na Order1:=xlDescending.

    Jak dodać makro do swojego arkusza

    Ponieważ oba makra są uruchamiane automatycznie przy zmianie arkusza, kod należy wstawić do arkusza, w którym chcemy sortować dane (Arkusz1 w tym przykładzie).Oto jak:

    1. Naciśnij Alt + F11, aby otworzyć edytor VBA.
    2. W Projekt Eksplorator po lewej stronie, kliknij dwukrotnie arkusz, w którym chcesz dokonać automatycznego sortowania.
    3. Wklejenie kodu w oknie Code.

    Automatyczne sortowanie dat za pomocą formuły

    Załóżmy, że masz listę dat i chciałbyś, aby zostały one automatycznie ułożone w porządku chronologicznym w osobnej kolumnie, obok oryginalnej listy. Można to zrobić za pomocą następującej formuły tablicowej:

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

    Gdzie A2:A20 to oryginalne (nieposortowane) daty, w tym kilka pustych komórek na ewentualne nowe wpisy.

    Wpisz formułę w pustej komórce obok kolumny z oryginalnymi datami (C2 w tym przykładzie) i naciśnij jednocześnie klawisze Ctrl + Shift + Enter, aby ją uzupełnić. Następnie przeciągnij formułę w dół do pozostałych komórek (C2:C20 w naszym przypadku).

    Wskazówka. Aby nowo dodane daty były sortowane automatycznie, należy pamiętać o umieszczeniu odpowiedniej liczby pustych komórek w podanym zakresie. Na przykład nasza lista dat znajduje się w zakresie A2:A7, ale do formuły wprowadzamy $A$2:$A$20 i umieszczamy ją w komórkach od C2 do C20. Funkcja IFERROR zapobiega błędom w dodatkowych komórkach, zwracając w zamian pusty ciąg ("").

    Nie działa sortowanie w Excelu według daty

    Jeśli twoje daty nie są posortowane tak, jak powinny, najprawdopodobniej zostały wprowadzone w formacie, którego Excel nie może zrozumieć, dlatego są postrzegane jako ciągi tekstowe, a nie daty. Poniższy samouczek wyjaśnia, jak odróżnić tak zwane "daty tekstowe" i przekonwertować je na normalne daty programu Excel: Jak przekonwertować tekst na datę w programie Excel.

    Tak wygląda sortowanie po dacie w Excelu. Dziękuję za przeczytanie i mam nadzieję, że zobaczymy się na naszym blogu za tydzień!

    Dostępne pliki do pobrania

    Przykłady formuły sortowania według daty (plik .xlsx)

    Makro automatycznego sortowania (plik .xlsm)

    Michael Brown jest oddanym entuzjastą technologii z pasją do upraszczania złożonych procesów za pomocą narzędzi programowych. Dzięki ponad dziesięcioletniemu doświadczeniu w branży technologicznej doskonalił swoje umiejętności w programach Microsoft Excel i Outlook, a także w Arkuszach i Dokumentach Google. Blog Michaela jest poświęcony dzieleniu się swoją wiedzą i doświadczeniem z innymi, dostarczając łatwych do zastosowania wskazówek i samouczków w celu poprawy produktywności i wydajności. Niezależnie od tego, czy jesteś doświadczonym profesjonalistą, czy początkującym, blog Michaela oferuje cenne spostrzeżenia i praktyczne porady dotyczące maksymalnego wykorzystania tych niezbędnych narzędzi programowych.