Next birthday B1:
=DATE(
YEAR(TODAY())
+(TODAY()>
DATE(
YEAR(TODAY())
;MONTH(A1)
;DAY(A1)
)
)
;MONTH(A1)
;DAY(A1)
)
which is today’s year, birthday’s month and birthday’s day + one year if today is later than this year’s birthday.
Days until next birthday =B1-TODAY()
EDIT (simplified explanation):
DATE(year(today());month(A1);day(A1)) returns this year’s birthday.
The comparison
( today() > this_years_birthday )
returns 1 if this year’s birthday already happened this year and 0 it is in the future.
We add the result of the comparison to the year number of this year’s birthday.