Christmas, Halloween, and global holiday countdowns on shared calendars.

Days until Christmas

Counts days until the next Dec 25. No input needed; updates daily from TODAY().

=DATEDIF(TODAY(),DATE(YEAR(TODAY())+IF(TODAY()>DATE(YEAR(TODAY()),12,25),1,0),12,25),"D")&" days 🎄"

164 days 🎄

Santa sleigh journey

Put delivery progress 0-10 in A1 and stops in B1. Sleigh travels toward the chimney.

="🏠"&REPT("·",MAX(0,B1-A1))&"🛷"&REPT("·",MAX(0,A1-1))&"🎅"

🏠·····🛷····🎅

Halloween candy stash bar

Put candy collected in A1 and bucket size in B1. Treats fill the stash bar.

=REPT("🍬",MIN(A1,B1))&REPT("🪣",MAX(0,B1-A1))

🍬🍬🍬🍬🪣

Christmas star tree

Put decoration level 0-8 in A1. Stars lead to the tree.

=REPT(CHAR(9733),A1)&"🎄"&REPT("·",MAX(0,B1-A1))

★★★🎄·····

Halloween pumpkin row

Put pumpkin count in A1. Caps at five.

=REPT("🎃",MIN(A1,5))

🎃🎃🎃

Easter egg hunt

Put eggs found 0-5 in A1.

=REPT("🥚",MIN(A1,B1))&REPT("🌿",MAX(0,B1-A1))

🥚🥚🥚🌿🌿

Days until Halloween

Counts days until the next Oct 31. No input needed; updates daily from TODAY().

=DATEDIF(TODAY(),DATE(YEAR(TODAY())+IF(TODAY()>DATE(YEAR(TODAY()),10,31),1,0),10,31),"D")&" days 🎃"

109 days 🎃

Days until New Year

Counts days until the next Jan 1. No input needed; updates daily from TODAY().

=DATEDIF(TODAY(),IF(TODAY()<=DATE(YEAR(TODAY()),1,1),DATE(YEAR(TODAY()),1,1),DATE(YEAR(TODAY())+1,1,1)),"D")&" days 🎆"

171 days 🎆

Days until birthday

Put your birthday date in A1. Counts days until the next occurrence.

=DATEDIF(TODAY(),DATE(YEAR(TODAY())+IF(DATE(YEAR(TODAY()),MONTH(A1),DAY(A1))<TODAY(),1,0),MONTH(A1),DAY(A1)),"D")&" days 🎂"

42 days 🎂

Days until Diwali

Put the Diwali date in A1. Shows days remaining until that celebration.

=MAX(0,DATEDIF(TODAY(),A1,"D"))&" days 🪔"

18 days 🪔

Days until Lunar New Year

Put the Lunar New Year date in A1. Shows days until the festival.

=MAX(0,DATEDIF(TODAY(),A1,"D"))&" days 🧧"

24 days 🧧

Days until Eid

Put the Eid date in A1. Shows days until the celebration.

=MAX(0,DATEDIF(TODAY(),A1,"D"))&" days 🌙"

31 days 🌙

Hanukkah candle count

Put candle night 1-8 in A1. Lit candles fill left; empty slots stay dim.

=REPT("🕯️",MIN(A1,8))&REPT("⚪",MAX(0,8-A1))

🕯️🕯️🕯️🕯️⚪⚪⚪⚪

Christmas gift wrap progress

Put gifts wrapped in A1 and total gifts in B1. Ribbon fills as you wrap.

=REPT("🎁",MIN(A1,B1))&REPT("📦",MAX(0,B1-A1))

🎁🎁🎁📦📦

Christmas card mailing checklist

Put cards sent in A1 and cards to mail in B1. Envelopes turn into sent checkmarks.

=REPT("✅",MIN(A1,B1))&REPT("✉️",MAX(0,B1-A1))

✅✅✅✉️✉️

Advent calendar dots

Put day opened 1-25 in A1. Gold dots mark opened days; gray dots stay closed.

=REPT("🟡",MIN(A1,25))&REPT("⚪",MAX(0,25-A1))

🟡🟡🟡🟡🟡⚪⚪⚪⚪⚪

Halloween costume ready status

Put ready or not ready in A1. Shows costume check or still sewing.

=IF(LOWER(A1)="ready","🧛 ✅ Costume ready","🪡 Still sewing")

🧛 ✅ Costume ready

Spooky mood picker

Put mood 1-5 in A1. From calm ghost to full haunted house.

=CHOOSE(A1,"👻 Chill","🦇 Spooky","🕸️ Creepy","💀 Scary","🏚️ Haunted")

🕸️ Creepy

Trick-or-treat counter

Put houses visited in A1. Repeats door knocks that many times.

=REPT("🚪",A1)&"🎃"

🚪🚪🚪🎃

New Year resolution streak bar

Put streak days in A1 and goal in B1. Stars track your resolution run.

=REPT("⭐",MIN(A1,B1))&REPT("☆",MAX(0,B1-A1))

⭐⭐⭐☆☆

New Year fireworks countdown

Put seconds left 0-10 in A1. Sparklers light as midnight approaches.

=REPT("✨",MIN(A1,B1))&REPT("🌑",MAX(0,B1-A1))&"🎆"

✨✨✨✨🌑🌑🌑🌑🌑🌑🎆

Year-in-review percent

Shows year progress from TODAY() as twelve month blocks with a calendar label. Updates daily. No input needed.

=REPT("█",MIN(12,MAX(0,MONTH(TODAY()))))&REPT("░",MAX(0,12-MIN(12,MAX(0,MONTH(TODAY())))))&" 📅"

███████░░░░░ 📅

New Year habit restart checklist

Put habits restarted in A1 and habits planned in B1. Checkmarks replace blank slots.

=REPT("✅",MIN(A1,B1))&REPT("⬜",MAX(0,B1-A1))

✅✅✅⬜⬜

Cherry blossom season progress

Put bloom week 1-4 in A1. Petals open from bud to full sakura.

=CHOOSE(A1,"🌱 Bud","🌸 Opening","🌸🌸 Peak bloom","🍃 Petals falling")

🌸🌸 Peak bloom

Day of the Dead altar progress

Put offerings placed 0-5 in A1. Marigolds and candles fill the ofrenda.

=REPT("🌼",MIN(A1,B1))&REPT("🕯️",MAX(0,B1-A1))&" 💀"

🌼🌼🌼🕯️🕯️ 💀

Thanksgiving prep checklist

Put dishes ready in A1 and dishes planned in B1. Turkey emoji marks finished prep.

=REPT("🦃",MIN(A1,B1))&REPT("🍽️",MAX(0,B1-A1))

🦃🦃🍽️🍽️🍽️

Valentine heart meter

Put affection level 0-5 in A1. Hearts fill the love meter.

=REPT("❤️",MIN(A1,B1))&REPT("🤍",MAX(0,B1-A1))

❤️❤️❤️🤍🤍

Holiday mood picker

Put mood 1-5 in A1. From quiet night to full party mode.

=CHOOSE(A1,"🕯️ Cozy night","☕ Warm drink","🎁 Gift wrap","🎉 Party time","🎆 Celebration")

🎁 Gift wrap

Related formula guides

Go deeper with Better Sheets

Members get full courses on CHAR, REPT, and dashboard design, plus hundreds of Google Sheets tutorials. Copy-paste formulas here stay free.

Unlock playground
Ads keep the free stuff free. Members browse ad-free — log in or see pricing.
Big Year 2027 calendar: the whole year on one Google Sheet

Free 2027 calendar.Plan all of 2027 on one Google Sheet, free.

Copy it to your Google Drive.

Free. No password, no card. The sheet link shows up right here.