Cellwise Start free

Excel guide · 4 min read

How to find upcoming birthdays in Excel

Quick answerBuild this year's birthday with DATE(YEAR(today),MONTH(B2),DAY(B2)), and add a year if it has already passed: =DATE(YEAR($F$1)+(DATE(YEAR($F$1),MONTH(B2),DAY(B2))<$F$1),MONTH(B2),DAY(B2)). Subtract the as-of date to get the days until it. In Excel 365, FILTER on that result lists everyone with a birthday in the next 30 days.

Sample data

Every result on this page was calculated from this sheet by the same spreadsheet engine the Cellwise app uses.

ABCDEF
1NameDate of birthAs ofNov 5, 2026
2Maya ChenMar 14, 1990
3Tom ReyesNov 5, 1985
4Aisha KhanNov 19, 1998
5Leo BrandtDec 2, 2001
6Sofia LopezJan 8, 1979
7Zoe ParkFeb 29, 2008
8Omar HaddadNov 2, 1993
9Nina VolkovNov 30, 1988

Download this sheet as an Excel practice file (.xlsx)

Next birthday: this year's, or next year's if it has passed

The sheet lists names and dates of birth, with an as-of date in F1 (Thursday 5 November 2026). =DATE(YEAR($F$1),MONTH(B2),DAY(B2)) gives Maya's birthday this year, 14 March 2026. That is already in the past, so it isn't her next birthday.

The formula below adds 1 to the year when this year's birthday is before the as-of date. The comparison returns TRUE or FALSE, and Excel treats those as 1 and 0 when you add them. Maya's next birthday is 14 March 2027; Aisha's is 19 November 2026. Tom was born on 5 November, so the comparison is FALSE and his next birthday is today. Use <= instead of < if you want today's birthdays to roll to next year.

Keep the as-of date in a cell rather than writing TODAY() into every formula. You can type =TODAY() in F1 for a live list, or a fixed date to plan ahead, and every formula follows it.

=DATE(YEAR($F$1)+(DATE(YEAR($F$1),MONTH(B2),DAY(B2))<$F$1),MONTH(B2),DAY(B2))

Result: Mar 14, 2027

Mar 14, 2027 for Maya Chen. Filled down, Aisha Khan gets Nov 19, 2026.

Days until the birthday, and the age they turn

Subtract the as-of date from the next birthday to get the days left. Aisha has 14 days, Leo 27, Tom 0 (today) and Omar, whose birthday was three days ago, 362. Format the result as Number or General, not as a date.

To show the age they are turning, measure complete years from the date of birth to the next birthday: DATEDIF(B5, next birthday, "y") returns 25 for Leo on 2 December. A simpler equivalent is the current age plus one, =DATEDIF(B5,$F$1,"y")+1, but that is wrong for anyone whose birthday is today.

=DATE(YEAR($F$1)+(DATE(YEAR($F$1),MONTH(B4),DAY(B4))<$F$1),MONTH(B4),DAY(B4))-$F$1

Result: 14

14: Aisha Khan's birthday is in two weeks.

Who has a birthday in the next 30 days?

In Excel 365, work out every next birthday as an array with LET and keep the names where the gap is 30 days or less. Four people qualify: Tom (today), Aisha (14 days), Leo (27) and Nina (25), in list order.

Change 30 to 7 for a weekly reminder. To show the soonest first, swap FILTER for SORTBY with the same dates: =LET(a,$F$1,d,B2:B9,n,DATE(YEAR(a)+(DATE(YEAR(a),MONTH(d),DAY(d))<a),MONTH(d),DAY(d)),TAKE(SORTBY(A2:A9,n),3)) returns Tom, Aisha and Nina, the next three birthdays. In older Excel, put the next-birthday formula in a helper column and sort or filter on it.

=LET(a,$F$1,d,B2:B9,n,DATE(YEAR(a)+(DATE(YEAR(a),MONTH(d),DAY(d))<a),MONTH(d),DAY(d)),FILTER(A2:A9,n-a<=30))

Result: spills 4 rows × 1 column

Tom Reyes
Aisha Khan
Leo Brandt
Nina Volkov

Tom Reyes, Aisha Khan, Leo Brandt and Nina Volkov.

Birthdays this month, and a list in calendar order

For this month's birthdays, compare the month only: =FILTER(A2:A9,MONTH(B2:B9)=MONTH($F$1)) returns Tom, Aisha, Omar and Nina for November. Omar's birthday on the 2nd is included even though it has passed.

Sorting by date of birth sorts by age, not by birthday. To list birthdays from January to December, sort by the month and day as text: TEXT(B2:B9,"mmdd") turns 14 March into 0314, which sorts correctly. The formula below gives Sofia (8 January), Zoe (29 February), Maya, Omar, Tom, Aisha, Nina and Leo (2 December). In older Excel, put =TEXT(B2,"mmdd") in a helper column and sort by it with Data > Sort.

=SORTBY(A2:B9,TEXT(B2:B9,"mmdd"))

Result: spills 8 rows × 2 columns

Sofia Lopez28863
Zoe Park39507
Maya Chen32946
Omar Haddad34275
Tom Reyes31356
Aisha Khan36118
Nina Volkov32477
Leo Brandt37227

The names with their dates of birth, from Sofia Lopez (Jan 8) to Leo Brandt (Dec 2).

February 29 birthdays

Zoe was born on 29 February 2008. In a year without 29 February, DATE rolls the day over: DATE(2027,2,29) returns 1 March 2027, so the next-birthday formula gives 1 March. DATEDIF agrees with that rule; it counts her as 18 on 28 February 2027 and 19 on 1 March.

Another popular formula, =EDATE(B7,12*(DATEDIF(B7,$F$1,"y")+1)), adds whole years with EDATE, and EDATE stops at the last day of the month instead, giving 28 February 2027. Neither is wrong; pick the date your family or company celebrates and use that formula. Watch out for the EDATE version on birthdays that are today: it returns next year's date, because DATEDIF already counts today's year as complete.

=EDATE(B7,12*(DATEDIF(B7,$F$1,"y")+1))

Result: Feb 28, 2027

Feb 28, 2027 for Zoe Park. The DATE version returns Mar 1, 2027.

Highlight birthdays coming up

To color the names with a birthday in the next 7 days, use a conditional formatting rule with the same formula, written for the first row.

  1. Select A2:B9.
  2. Go to Home > Conditional Formatting > New Rule > Use a formula to determine which cells to format.
  3. Enter =DATE(YEAR($F$1)+(DATE(YEAR($F$1),MONTH($B2),DAY($B2))<$F$1),MONTH($B2),DAY($B2))-$F$1<=7 with $B2 locked to the column only.
  4. Click Format, choose a fill color and click OK twice.

Common mistakes

Sorting by date of birth to get birthday order

That sorts by year, so it is really an age order. Sort by TEXT(date,"mmdd") or by the next-birthday date.

Only building this year's birthday

DATE(YEAR(today),MONTH,DAY) is in the past for anyone whose birthday has gone. Add a year when it is before the as-of date.

Using current age + 1 for the age they turn

On the birthday itself that is a year too many. Use DATEDIF from the birth date to the next birthday.

TODAY() in every formula

The list changes every day and you can't plan ahead. Put =TODAY() or a fixed date in one cell and point to it.

FAQ

How do I calculate days until a birthday in Excel?

Build the next birthday with =DATE(YEAR(TODAY())+(DATE(YEAR(TODAY()),MONTH(B2),DAY(B2))<TODAY()),MONTH(B2),DAY(B2)) and subtract TODAY(). Format the result as a number.

How do I list birthdays by month in Excel?

Use =FILTER(A2:A100,MONTH(B2:B100)=5) for May, or add a helper column with =TEXT(B2,"mmmm") and filter or pivot on it.

How do I sort birthdays by month and day, ignoring the year?

Sort by =TEXT(B2,"mmdd"). In Excel 365, =SORTBY(A2:B100,TEXT(B2:B100,"mmdd")) does it in one formula.

How do I get a birthday reminder in Excel?

Excel can't send alerts by itself, but a conditional formatting rule on days until <= 7, or a FILTER list of the next 30 days on a front sheet, shows who is coming up whenever you open the file.

Functions used

Related guides

Updated