=DATA.RÓŻNICA(B2;DZIŚ();"Y") (po angielsku =DATEDIF(B2,TODAY(),"Y")) zwraca wiek w pełnych latach osoby urodzonej w dniu z B2. DATA.RÓŻNICA (DATEDIF) liczy pełne lata między dwiema datami, a DZIŚ() (TODAY) podaje drugą datę, więc wiek rośnie o jeden w każde urodziny. Tabele pokazują formuły po angielsku, ale możesz w nich wpisywać formuły także po polsku, ze średnikami.
| A | B | C | |
|---|---|---|---|
| 1 | Name | Born | Age |
| 2 | Ana | 1990-05-14 | 36 |
| 3 | Ben | 1985-11-30 | 40 |
| 4 | Chloe | 2001-02-28 | 25 |
| 5 | Dan | 1978-10-10 | 47 |
| 6 | Eva | 2010-07-04 | 16 |
=DATA.RÓŻNICA(B2;DZIŚ();"Y")Wiek w kolumnie C jest liczony od dzisiejszej daty, więc zmienia się w ciągu roku. Zmień datę urodzenia w kolumnie B, a wiek obok się dostosuje. Formuła ma trzy argumenty: datę początkową (datę urodzenia), datę końcową (dziś) i jednostkę, "Y" dla pełnych lat.
Wiek w określonym dniu
Aby dostać wiek w ustalonym dniu, na przykład na początek roku szkolnego albo w dniu zawarcia umowy, wpisz ten dzień w komórkę i użyj komórki zamiast DZIŚ(). $ w $F$2 trzyma odwołanie na F2, gdy kopiujesz formułę w dół.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Name | Born | Age | As of | ||
| 2 | Ana | 1990-05-14 | 36 | 2026-10-01 | ||
| 3 | Ben | 1985-11-30 | 40 | |||
| 4 | Chloe | 2001-02-28 | 25 | |||
| 5 | Dan | 1978-10-10 | 47 | |||
| 6 | Eva | 2010-07-04 | 16 |
=DATA.RÓŻNICA(B2;$F$2;"Y")Dnia 2026-10-01 Ana ma 36 lat, a Dan 47: jego urodziny 10 października jeszcze nie nadeszły. Zmień F2 na 2026-10-10, a Dan skończy 48 lat. Ta wersja daje też ten sam wynik przy każdym otwarciu pliku, co ma znaczenie, gdy wiek trafia do raportu. Inne jednostki opisuje strona o DATA.RÓŻNICA.
Wiek w latach, miesiącach i dniach
DATA.RÓŻNICA ma jednostki dla tego, co zostaje po pełnych latach: "YM" liczy miesiące po ostatnim pełnym roku, a "MD" dni po ostatnim pełnym miesiącu. Połącz trzy wyniki znakiem &, aby zapisać wiek jako tekst.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Born | Years | Months | Days | Age | As of |
| 2 | 1990-05-14 | 36 | 4 | 17 | 36 years, 4 months, 17 days | 2026-10-01 |
| 3 | 1978-10-10 | 47 | 11 | 21 | 47 years, 11 months, 21 days |
=B2&" years, "&C2&" months, "&D2&" days"Od 1990-05-14 do 2026-10-01 mija 36 lat, 4 miesiące i 17 dni. Microsoft odradza jednostkę "MD", bo w niektórych przypadkach, na przykład przy dacie urodzenia 31. dnia miesiąca, może zwrócić ujemną albo złą liczbę dni. Sprawdź liczbę dni, gdy data urodzenia przypada między 29. a 31. dniem miesiąca.
Obliczanie wieku bez DATA.RÓŻNICA
DATA.RÓŻNICA działa w każdej wersji Excela, ale nie ma jej na liście funkcji ani w autouzupełnianiu formuł, więc niektórzy wolą CZĘŚĆ.ROKU (YEARFRAC). CZĘŚĆ.ROKU(start;koniec;1) zwraca liczbę lat między dwiema datami jako ułamek dziesiętny, licząc rzeczywistą długość każdego roku (podstawa 1). ZAOKR.DO.CAŁK (INT) odcina część ułamkową.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Born | As of | DATEDIF | YEARFRAC |
| 2 | 1990-05-14 | 2026-10-01 | 36 | 36 |
| 3 | 1978-10-10 | 2026-10-01 | 47 | 47 |
| 4 | 2010-07-04 | 2026-10-01 | 16 | 16 |
=ZAOKR.DO.CAŁK(CZĘŚĆ.ROKU(A2;B2;1))Obie kolumny się zgadzają: 36, 47 i 16. Bez ZAOKR.DO.CAŁK CZĘŚĆ.ROKU zwraca w ostatnim wierszu około 16,24, co przydaje się, gdy potrzebujesz wieku jako ułamka, na przykład w arkuszu statystycznym.
Dlaczego nie dzielić przez 365
Popularny skrót to =ZAOKR.DO.CAŁK((F2-B2)/365): liczba przeżytych dni podzielona przez liczbę dni w roku. Lata przestępne dodają dzień co cztery lata, więc po kilku dekadach formuła dochodzi do kolejnego wieku kilka dni przed urodzinami: przy 48. urodzinach 12 dni za wcześnie.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Born | As of | Days lived | Divide by 365 | DATEDIF |
| 2 | 1990-05-14 | 2026-10-01 | 13289 | 36 | 36 |
| 3 | 1978-10-10 | 2026-10-01 | 17523 | 48 | 47 |
=ZAOKR.DO.CAŁK(C2/365)Dla osoby urodzonej 1978-10-10 dzielenie przez 365 daje 48 lat już 2026-10-01, dziewięć dni przed 48. urodzinami. DATA.RÓŻNICA daje 47. Dzielenie przez 365,25 naprawia większość wierszy, ale przy niektórych datach nadal się myli, więc używaj DATA.RÓŻNICA albo CZĘŚĆ.ROKU.
Ćwiczenie: wiek w pierwszym dniu szkoły
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Name | Born | Age | As of | |
| 2 | Ana | 2012-04-17 | 2026-09-01 |
Twoja kolej: W C2 oblicz wiek Any w pełnych latach w dniu z E2.
Ukryte testy zmieniają datę w E2, więc formuła musi ją odczytywać.
Dlaczego wiek wyświetla się jako data
Jeśli wpiszesz formułę wieku w komórkę, która już zawiera datę, albo w kolumnę sformatowaną jako daty, Excel zachowa format daty i pokaże 36 jako 1900-02-05 (36. dzień systemu dat Excela; przy polskich ustawieniach regionalnych 05.02.1900). Liczba pod spodem jest poprawna. Zaznacz komórki i wybierz Narzędzia główne > Format liczb > Ogólne (albo naciśnij Ctrl+Shift+~, Control+Shift+~ na Macu), a pojawi się wiek.
Najczęściej zadawane pytania
Jaka jest formuła na wiek w Excelu?
=DATA.RÓŻNICA(B2;DZIŚ();"Y"), z datą urodzenia w B2. Liczy pełne lata od daty urodzenia do dziś, więc wiek rośnie dokładnie w dniu urodzin, a nie wcześniej.
Jak obliczyć wiek w określonym dniu w Excelu?
Wpisz datę w komórkę i użyj jej zamiast DZIŚ(): =DATA.RÓŻNICA(B2;$F$2;"Y") daje wiek w dniu z F2. Znaki $ trzymają F2 w miejscu, gdy kopiujesz formułę w dół.
Jak obliczyć wiek w Excelu bez DATA.RÓŻNICA?
Użyj =ZAOKR.DO.CAŁK(CZĘŚĆ.ROKU(B2;DZIŚ();1)). CZĘŚĆ.ROKU zwraca liczbę lat między dwiema datami jako ułamek dziesiętny, a ZAOKR.DO.CAŁK zostawia pełne lata.
Dlaczego formuła wieku pokazuje datę, na przykład 1900-01-30?
Komórka ma format daty, więc wiek 30 jest pokazywany jako 30. dzień kalendarza Excela. Zaznacz komórkę i ustaw Narzędzia główne > Format liczb na Ogólne.
Dlaczego dzielenie przez 365 daje zły wiek?
Lata przestępne dodają dzień co cztery lata, więc =ZAOKR.DO.CAŁK((DZIŚ()-B2)/365) liczy urodziny o kilka dni za wcześnie: osoba urodzona 1978-10-10 ma według tej formuły 48 lat już 2026-10-01, dziewięć dni przed 48. urodzinami. DATA.RÓŻNICA liczy lata kalendarzowe i nie ma tego błędu.