Excel 16.0 build 20430
Windows, 64-bit, CPU not recorded
10,153 captured inputs are indexed for this environment. Capture dates: 2026-09-29 to 2026-09-29. This is a reading count, not a comparison with another build.
Date and time functions
Matches all 10,167 recorded answers
Recorded: 10,153 in the answer bank and 14 workbook cells. How we measure this · See the Rust code
| Language | Name in Excel |
|---|---|
| Arabic | YEAR |
| Bulgarian | YEAR |
| Czech | ROK |
| Danish | YEAR |
| German | YEAR |
| Greek | YEAR |
| English (Australia) | YEAR |
| English (United Kingdom) | YEAR |
| English (United States) | YEAR |
| Spanish | YEAR |
| Estonian | AASTA |
| Finnish | VUOSI |
| French | YEAR |
| Hebrew | YEAR |
| Croatian | YEAR |
| Hungarian | YEAR |
| Indonesian | YEAR |
| Italian | YEAR |
| Japanese | YEAR |
| Korean | YEAR |
| Lithuanian | YEAR |
| Latvian | YEAR |
| Norwegian | ÅR |
| Dutch | YEAR |
| Polish | YEAR (rok) |
| Portuguese (Brazil) | YEAR |
| Portuguese (Portugal) | ANO |
| Romanian | YEAR |
| Russian | YEAR |
| Slovak | ROK |
| Slovenian | LETO |
| Serbian (Latin) | GODINA |
| Swedish | YEAR |
| Thai | ปี |
| Turkish | YIL |
| Ukrainian | РІК |
| Vietnamese | YEAR |
| Chinese (Simplified) | YEAR |
| Chinese (Hong Kong) | YEAR |
| Chinese (Traditional) | YEAR |
Names from Microsoft's support site.
YEAR(serial_number)
YEAR projects a date serial onto its calendar-year component. Given a serial s, it discards
the fractional part, finds the calendar day that ⌊s⌋ denotes under the workbook's date system,
and returns that day's year as an integer in the range 1900–9999 (1904–9999 in a 1904-system
workbook).
YEAR(serial_number) — one required argument.
serial_number — the date whose year is wanted. Microsoft's documentation is emphatic across
this whole category that dates should be supplied as serials, from DATE, from another formula,
or from a cell already holding a date, and not as text, because text dates are locale-dependent
and can be misparsed. YEAR accepts what the ordinary scalar coercion rules accept (see
coercion and lifting): numbers, numeric text, logicals.
The commonly misunderstood point is that serial_number is a number, not a "date object". Any
number in range is a legal argument, including numbers that no user would call a date.
Returns a Number: a four-digit year.
YEAR(43831.75) is the same as
YEAR(43831).YEAR returns 1900 for it under any sane reading,
so it is the least diagnostic of the three decomposers here; DAY is where the
artefact shows.As documented for this category, and on the page linked below:
#NUM! when serial_number is out of range for the workbook's date-base value — negative
serials being the clear case.#VALUE! when the argument cannot be converted to a number (ordinary coercion behaviour, not a
YEAR-specific rule).1900 + s/365.25-style shortcut is correct; the
mapping has to go through a real calendar, adjusted for the leap-year artefact.Quoted from the public repository DnaCalc/DnaCalc, crates calc-func and calc-fml, at commit 9e1884369a67. Comments are the source's own. A kernel shared with other functions appears once, on its module page.
YEAR · 3 lines · calc-func/src/catalogue/dates.rs on GitHub3 year_fn "YEAR" (1, 1) [V "serial_number"] |s, a, sv| {
of_date(s, a, |x| k::serial_to_ymd(x).map(|(y, _, _)| y as f64))
}
environment catalogue/datessystem catalogue/datesto_1900 catalogue/datesdate_arg catalogue/datesof_date catalogue/datesdays_from_civil ported/date_kernelscivil_from_days ported/date_kernelsymd_1900 ported/date_kernelsserial_to_ymd ported/date_kernelsNo implementation has been published with a Handbook test suite for this function.
The recorded environments below distinguish a reading from a same-input comparison. Counts describe captured inputs in each environment; overlapping captures and comparisons are not totals of unique worksheet calls.
| Excel 16.0 build | Platform and CPU | Captured inputs |
|---|---|---|
| 20430 | Windows, 64-bit, CPU not recorded | 10,153 |
The record contains no same-input comparison between these environments. Reading different inputs on different builds does not establish either a version change or cross-build agreement.
Recorded environments and comparison details.
Windows, 64-bit, CPU not recorded
10,153 captured inputs are indexed for this environment. Capture dates: 2026-09-29 to 2026-09-29. This is a reading count, not a comparison with another build.
YEAR they invert DATE.DATE(YEAR(s),MONTH(s),DAY(s)) should return
⌊s⌋; that round trip is the obvious metamorphic test for this family.YEARFRAC
measures an interval in years, YEAR names a year."Y" — counts complete years between two dates, which
is not YEAR(b) − YEAR(a). The difference of years and the number of elapsed years disagree
whenever the anniversary has not yet passed; this is the most frequent age-calculation bug in
spreadsheets.No named variants are recorded yet.
Suggest a correction or contribute an implementation · For agents