Holiday Formulas for Google Sheets™

Know what the calendar can answer

Data comes from python-holidays 0.104 (MIT). This guide describes release 2026-09-15-holidays-0.104-t0-repair-5: 251 country entries and 26 codes with make-up-working-day systems (including subdivisions, not 26 distinct countries).

Complete is a property of a code and a year

A complete year has confirmed observation-based holiday dates and, for a make-up-working-day system, a published working-weekend list for that year. Completeness is checked for each country or subdivision and each year, independently of displayed holiday names. First and last complete years alone do not prove that intervening years are complete.

ISWORKDAY, NETWORKDAYS_CTRY, WORKDAY_CTRY, NEXTWORKDAY and PREVWORKDAY refuse incomplete calendars. HOLIDAYS and HOLIDAYNAME still show available dates and names; ISHOLIDAY tests membership in the available dates, not whether the entire year is confirmed.

#N/A Calendar for CN 2027 not yet published; HOLIDAYS() shows the confirmed dates

In this release, CN 2026 is complete, CN 2027 is incomplete, and DE 2027 is complete. India has no complete year. Buying Pro does not change these flags.

Estimated dates may move by a day

Estimated dates can move by a day when authorities confirm them. HOLIDAYS and HOLIDAYNAME preserve the exact " (estimated)" suffix wherever the source supplies it. Some source calendars suppress labels even for estimated observations; an unlabelled name is not confirmation.

The first estimated year is display metadata, separate from completeness. For example, IN’s first labelled estimated year is 2000. The sidebar reports the first estimated year for the selected country.

Statutory weekend only and make-up working days

For codes without working-weekend data, coverage is statutory weekend only: public holidays plus the effective-dated weekend rule. We do not guess official make-up working days, industry rules, or employer-specific closures.

Working-weekend exceptions, when published, override a weekend mask; holidays and extra closures still win. A custom weekend accepts NETWORKDAYS.INTL codes 1–7 or 11–17, or a quoted seven-character Monday-to-Sunday mask.

The 26 source codes with working-weekend data are: AM, AM-AG, AM-AR, AM-AV, AM-ER, AM-GR, AM-KT, AM-LO, AM-SH, AM-SU, AM-TV, AM-VD, AZ, BG, BY, CN, HU, KG, KZ, LV, MM, RU, TW, UA, UZ, VN.

For example, CN 2026-01-04 is a working Sunday. IL uses Friday–Saturday. AE changes from Friday–Saturday to Saturday–Sunday on 2022-01-01; the rule is looked up for the date being classified.

22 countries with no complete year

These country-level codes have an empty complete_years list in tools/horizons.json for 2000–2035 under holidays 0.104. Known holiday lists may still be available. This is a source-coverage limitation, not a statement that the countries have no official calendars.

Country codes with no complete year in the pinned audit
CodeCountry
BJBenin
BTBhutan
CICôte d'Ivoire
DJDjibouti
DZAlgeria
EREritrea
INIndia
JOJordan
KMComoros
KWKuwait
LKSri Lanka
MAMorocco
MNMongolia
MRMauritania
MUMauritius
MVMaldives
NPNepal
PSPalestine
SOSomalia
TNTunisia
UGUganda
XKKosovo

Coverage and errors

Free: every formula for the current calendar year and the next one, in the spreadsheet’s timezone; country-level only, no subdivisions and no custom extra ranges. In 2026, that window is 2026–2027.

Pro: $29/year or $4/month; holiday lists: 2000–2035, subject to source coverage; business-day formulas: years with published calendars. Includes subdivisions, custom extra ranges, and priority data corrections. Compare plans and owner-based access.

The requested export window is 2000–2035. Some source classes cover fewer years. Missing years never become an empty “no holidays” calendar.

Corrections and refresh

The release process regenerates data monthly and fixes confirmed errors within 7 days of confirmation. Releases are immutable; a small discovery index selects the current version. Formulas can discover a correction within 5 minutes plus their next execution. Recalculate Holiday Formulas bypasses the discovery cache and re-executes the formulas. A static “Fill holiday table” snapshot does not update automatically.

Use HF_VERSION() when reporting a discrepancy. Include the country, subdivision, year and source for the correction. Contact support.