GOODFRIDAY Function (Gnumeric)
Calculate Good Friday in Gnumeric with a two-day Easter offset. Build explicit-year checks and distinguish calendar dates from closure rules.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer: =GOODFRIDAY(2026) has the independently calculated calendar result 2026-04-03. Format the result as a date. This is a source-backed reference date, not a captured native worksheet result.
Availability and version history
- Introduced: Gnumeric 1.9.15. The official 1.9.14-to-1.9.15 source diff adds the Christian-date implementation and registers all five named functions; the release notes identify the new calendar group. No exact release day is inferred from an archive timestamp.
- Documented support: Registered in the Christian Date Functions plugin for Gnumeric 1.12.62. No retirement is established.
- Last functioning version: Unverified; source support does not prove application execution.
- Evidence dates: The 1.12.62 source snapshot was retained October 13–14, 2026. The historical release diff and notes were retrieved October 15; calculations and this full guide were reviewed that day. No native Gnumeric or GUI test was run.
What the function returns
GOODFRIDAY computes the Gregorian Roman-rite Good Friday described in the vendor help by subtracting two calendar days from Easter Sunday. The returned value is a date serial that can participate in date arithmetic. It identifies the calendar date; it does not establish legal holiday status, pay rules or whether a particular organization is closed.
Syntax and year handling
=GOODFRIDAY([year])
The single numeric year argument is optional. With an explicit year, the shared helper converts it to an integer and applies Gnumeric’s year adjustment: 0–29 become 2000–2029, while 30–99 become 1930–1999. Thus 29 and 30 differ by nearly a century, not by one year. Use four-digit years for an auditable calendar. Negative integer years and years above 9956 return #NUM!.
The help states a nominal lower bound of 1582, but actual acceptance depends on date conventions and whether negative dates are enabled. The year-adjustment helper can reject years before the workbook’s 1900 or 1904 base. The modern worked years avoid this setting-dependent region. Blank and text coercions are unverified; an omitted argument is a deliberate separate operation.
Reproducible explicit-year worksheet
Create FridayYears with years 2024, 2025, 2026, 2027 and 2028 in A2:A6. Fill B2 =GOODFRIDAY(A2) through row 6. Expected dates are March 29, 2024; April 18, 2025; April 3, 2026; March 26, 2027; and April 14, 2028. In C2 enter =EASTERSUNDAY(A2)-B2 and fill downward. Every expected difference is 2. A one-row control =B4=DATE(2026,4,3) is TRUE.
Reference dates and boundaries
These ISO dates make the expected calendar result unambiguous. A workbook can display a different localized date format without changing the underlying date. The table does not specify a date-system-dependent serial number.
| Formula | Independent calendar result |
|---|---|
=GOODFRIDAY(2001) |
2001-04-13 |
=GOODFRIDAY(2024) |
2024-03-29 |
=GOODFRIDAY(2025) |
2025-04-18 |
=GOODFRIDAY(2026) |
2026-04-03 |
=GOODFRIDAY(2027) |
2027-03-26 |
=GOODFRIDAY(2028) |
2028-04-14 |
=GOODFRIDAY(0) |
2000-04-21 |
=GOODFRIDAY(29) |
2029-03-30 |
=GOODFRIDAY(30) |
1930-04-18 |
=GOODFRIDAY(99) |
1999-04-02 |
=GOODFRIDAY(9956) |
9956-04-20 |
=GOODFRIDAY(-1) |
#NUM! |
=GOODFRIDAY(9957) |
#NUM! |
Advanced application and cross-check
To define a three-calendar-date reporting window, enter year 2026 in B2, =GOODFRIDAY(B2) in B3 and =EASTERSUNDAY(B2) in B4. B3 is April 3 and B4 April 5. The elapsed difference B4-B3 is 2, while the inclusive number of dates =B4-B3+1 is 3. This distinction prevents confusing elapsed days with the number of labeled daily rows in a report.
Put =B3 in D2, =D2+1 in D3 and =D3+1 in D4. The dates are April 3, 4 and 5. Changing only B2 to 2027 moves them to March 26, 27 and 28. This is a calendar window only; deciding which of those dates to exclude from a work schedule requires a separately approved holiday list and working-week policy. Do not infer such exclusions from the function name.
What an omitted year means
The no-year helper reads the current system time, derives the calendar year and computes this specific holiday. It advances to next year only when this year’s holiday is strictly before the date being evaluated. Therefore the current holiday date itself is included in “next”; it does not automatically skip to next year on that day.
For a hypothetical evaluation date of 2026-04-02, =GOODFRIDAY() has reference date 2026-04-03. On 2026-04-03, it still has that date. On 2026-04-04, it changes to 2027-03-26. These are simulated clock inputs to the source rule, not observations of today’s application output. The functions are registered as volatile; actual recalculation timing, timezone handling and saved-workbook caching were not tested.
A fixed two-day offset is from the Easter date for the same explicit year. Do not feed a worksheet date serial as the year argument: a serial in the tens of thousands is not converted back to its calendar year and can exceed the supported maximum. Use a year number, or extract the intended year in a separate inspected cell before calling the function.
Errors, troubleshooting and scope
If the output looks like an integer, inspect the cell’s date format before changing the formula. If a year is rejected, inspect the four-digit input and the workbook’s date conventions. Do not repair an unsupported date by silently changing the requested year. The shared implementation includes a correction for negative offsets crossing the fictitious February 29, 1900 serial-date gap; the simple date-offset worksheet identities above are claimed for the stated modern years, not every historical serial boundary.
Check exact function spelling and the Christian Date Functions plugin when resolving availability issues. This guide does not supply a tested plugin-installation workflow. Error displays for malformed expressions, locale-specific entry, external workbook import and extreme serial values are unverified. The explicit-year controls and hypothetical-clock controls serve different purposes and should be kept separate.