Baza wiedzy / Excel

ROK w Excelu: numer roku, daty tekstowe i tablice

Pokażę różnicę między numerem roku a wyglądem daty. Wyciągniesz rok z kolumny i sprawdzisz pułapki wieku, importu oraz granic kalendarza.

Kajo RudzińskiOpublikowano Aktualizacja 5 min czytania

Soczewki oddzielają szeroką żółtą warstwę od stosu kartek kalendarza

W raporcie potrzebujesz grupować zamówienia według roku. Masz pełne daty, więc kusi, żeby po prostu pokazać w komórce cztery cyfry. Ja najpierw ustalam, czy chcę zmienić wygląd daty, czy rzeczywiście otrzymać liczbę roku. Te operacje mogą wyglądać podobnie na ekranie, lecz dają inne dane do dalszej pracy.

ROK, czyli angielskie YEAR, wyciąga rok z daty. Pokażę prostą kolumnę pomocniczą, problem dat tekstowych i granice zastosowania tej funkcji. Sam numer roku nie wylicza wieku ani nie rozstrzyga, czy rok jest przestępny.

Składnia i mały przykład

=ROK(A2)

Argumentem jest liczba seryjna reprezentująca datę Excela. Funkcja zwraca numer roku kalendarza gregoriańskiego. Microsoft zaleca użycie rozpoznanej daty lub funkcji DATA, ponieważ tekst może powodować problemy. Zobacz dokumentację ROK.

Poniższe dane są syntetyczne. Nagłówek wpisz w A1, a daty do A2:A4. Dla pewności zbuduj je przez DATA, jak pokazano w tabeli. W B2 wpisz ROK(A2) z początkowym znakiem równości i skopiuj w dół.

Komórka Formuła tworząca datę Wyświetlana data ROK
A2 =DATA(2024;12;31) 2024-12-31 2024
A3 =DATA(2025;1;1) 2025-01-01 2025
A4 =DATA(2025;11;5) 2025-11-05 2025

Dwa ostatnie wiersze mają ten sam rok, mimo różnych miesięcy i dni. To przydatna kolumna do grupowania, ale pełnej daty nie wyrzucam. Może być potrzebna do sprawdzenia sezonowości, kolejności zdarzeń albo zakresu raportu.

Przykłady stosują nazwy PL i średniki. W angielskim Excelu jest YEAR; separator argumentów zależy od ustawień regionalnych. Pojedyncze ROK(A2) działa w wydaniach wymienionych w dokumentacji, w tym Excel 2016-2024 i Microsoft 365.

Numer roku i format daty

Jeśli ustawisz dla A2 format niestandardowy rrrr, komórka pokaże 2024, ale nadal przechowa pełną datę 31 grudnia. B2 z formułą ROK(A2) przechowuje wynik liczbowy 2024. Nie są to dwie równoważne reprezentacje tej samej wartości wewnętrznej.

Gdy potrzebuję tylko wyglądu, wybieram formatowanie. Gdy potrzebuję pola do łączenia z tabelą planów rocznych albo grupowania, tworzę osobną kolumnę roku. Źródłową datę zostawiam obok, żeby móc wyjaśnić pochodzenie wyniku.

Kolumnę z wynikiem ROK ustawiam jako Ogólne lub Liczba. Formatowanie tej liczby jako daty spowoduje interpretację 2024 jako liczby seryjnej daty. Efekt nie będzie datą z roku 2024, bo liczba roku nie jest pełną datą.

Kody formatu zależą od języka. Polski kod rrrr odpowiada angielskiemu yyyy. Odpowiedni zapis możesz sprawdzić w oknie formatowania; Microsoft opisuje korzystanie z kodów przy funkcji TEKST.

Pełny stos kartek kalendarza i osobny wyodrębniony kafel leżą obok siebie

Data tekstowa potrzebuje ustalonego formatu

2025-11-05 może wyglądać jak data, choć jest tekstem z pliku CSV. Samo ustawienie formatu daty nie gwarantuje konwersji. Sprawdzam źródło i uzgodniony układ dzień-miesiąc-rok albo rok-miesiąc-dzień, zanim zacznę wyciągać rok.

Dla tekstu rozpoznawanego zgodnie z ustawieniami regionalnymi można użyć:

=ROK(DATA.WARTOŚĆ(A2))

DATA.WARTOŚĆ interpretuje tekst według obsługiwanych formatów i ustawień. Zapis 03/04/2025 jest niejednoznaczny bez znajomości konwencji źródła. Zmiana wyglądu nie rozstrzyga, czy chodziło o marzec, czy kwiecień.

CZY.LICZBA może pomóc stwierdzić, czy komórka zawiera liczbę, ale nie udowodni, że jest to właściwa data. Przypadkowa liczba również przejdzie taki test. Dlatego kontroluję próbkę dat po imporcie i sprawdzam granice roku, szczególnie przejście z 31 grudnia na 1 stycznia.

Excel obsługuje systemy dat 1900 i 1904. Ten sam numer seryjny może oznaczać inną datę w zależności od systemu skoroszytu. Przy przenoszeniu danych między starszymi plikami uwzględniam zasady systemów dat, zamiast ręcznie zgadywać numery seryjne.

Jak wyciągnąć rok z całej kolumny

Najbardziej przenośny sposób to wpisanie =ROK(A2) w B2 i skopiowanie w dół. Każdy wiersz ma wtedy osobny wynik, który łatwo porównać ze źródłem.

W Excelu obsługującym tablice dynamiczne, np. Microsoft 365 lub Excel 2021/2024, poza tabelą Excela możesz wpisać:

=ROK(A2:A4)

Wyniki rozleją się do trzech komórek, jeśli miejsce jest wolne. Zachowanie rozlewania i ograniczenia w tabelach opisuje Microsoft. Przy zablokowanym obszarze trzeba usunąć przeszkodę albo wybrać inne miejsce.

Nie dodaję ARRAYFORMULA. To funkcja Arkuszy Google, a nie wymagany element formuły Excela. W starszym Excelu pozostaję przy kopiowaniu pojedynczej formuły, zamiast mieszać składnię dwóch programów.

Czego nie wylicza sama funkcja ROK

ROK(DZIŚ())-ROK(A2) daje różnicę numerów lat. Dla urodzenia 10 sierpnia 1990 i daty odniesienia 1 lipca 2026 wynik to 36, choć pełnych lat minęło 35. Urodziny dopiero nadejdą. Metodę pełnych lat i rolę daty odniesienia opisuję w haśle DZIŚ.

Sama podzielność numeru roku przez 4 również nie jest pełną regułą roku przestępnego w kalendarzu gregoriańskim. Lata stuleci muszą być podzielne przez 400: rok 2000 jest przestępny, 2100 nie. Regułę podaje U.S. Naval Observatory. Nie potrzebujesz tego testu do zwykłego wydobycia roku z daty.

ROK oznacza rok kalendarzowy, nie automatycznie rok finansowy Twojej firmy. Jeżeli okres rozliczeniowy zaczyna się w lipcu, trzeba osobno zdefiniować przypisanie dat do okresów. Podobnie raport tygodniowy może potrzebować osobnej definicji roku tygodnia na granicy grudnia i stycznia.

Ćwiczenie na granicy roku

Zmień A2 z 31 grudnia 2024 na 1 stycznia 2025. Wynik w B2 powinien zmienić się na 2025. Następnie zmień tylko format A2 na wyświetlanie roku i sprawdź pasek formuły: pełna data pozostaje w źródle.

Na własnych danych dołóż kolumnę roku i porównaj kilka rekordów z obu stron przełomu lat. Jeśli chcesz zsumować kwoty za konkretny rok, możesz też użyć granic dat od 1 stycznia do początku następnego roku, jak w poradniku SUMA.WARUNKÓW. Wybierz sposób, który zachowuje jasną definicję okresu.

Najważniejsze w pigułce

Czy format rrrr daje taki sam wynik jak ROK?

Wygląd może być taki sam, ale format zachowuje pełną datę, a ROK zwraca numer roku jako liczbę.

Czy do tablic w Excelu potrzebuję ARRAYFORMULA?

Nie. ARRAYFORMULA pochodzi z Arkuszy Google. W Excelu z tablicami dynamicznymi użyj ROK(A2:A4), a w starszym skopiuj ROK(A2) w dół.

Czy różnica numerów lat daje wiek?

Może zawyżać wiek przed urodzinami. Do pełnych lat potrzebujesz daty urodzenia, daty odniesienia i odpowiedniej metody obliczenia okresu.

Przy pracy nad artykułem użyto w zautomatyzowany sposób sztucznej inteligencji. Jeśli też chcesz tak umieć, sprawdź ten projekt.

Kajo Rudziński

Newsletter KajoData

Zostańmy w kontakcie.

Piszę o analizie danych, uczeniu się i zmianie pracy. Dzielę się tym, co pomaga mi ogarniać technologię i zawodowe decyzje. Jeśli lubisz ten sposób myślenia, zapraszam do mojego newslettera.