# Re: Birthday formula

Solved
1189 1
cancel
Showing results for
Did you mean:  6 - Interface Innovator

Hi people!

I’m building a “Birthdays” table in my “Calendar” base and I’m looking for a formula that says:

if “Birthday” is within the next 2 months then display “soon”

What would this formula look like? 1 Solution

Accepted Solutions  8 - Airtable Astronomer

Sorry! More complicated than I first realised. Try this:

`IF(AND(SUM(DATETIME_FORMAT(TODAY(), "M")-DATETIME_FORMAT({Birthday}, "M"))<=2, SUM(DATETIME_FORMAT(TODAY(), "M")-DATETIME_FORMAT({Birthday}, "M"))>-1), "Soon")`

This should work for any date given in {Birthday}, regardless of year.

5 Replies 5  8 - Airtable Astronomer

`IF(DATETIME_DIFF(TODAY(), {Birthday}, "months")<=2, "Soon")`  6 - Interface Innovator

Thanks Jonathan!

I’m still having a problem here. No errors from the formula but the formula labels ALL of the records as “Soon” in the formula field regardless of date.  8 - Airtable Astronomer

Sorry! More complicated than I first realised. Try this:

`IF(AND(SUM(DATETIME_FORMAT(TODAY(), "M")-DATETIME_FORMAT({Birthday}, "M"))<=2, SUM(DATETIME_FORMAT(TODAY(), "M")-DATETIME_FORMAT({Birthday}, "M"))>-1), "Soon")`

This should work for any date given in {Birthday}, regardless of year.  6 - Interface Innovator

It works! but I have to filter out next years birthdays or it goes a bit haywire and can’t be filtered using the “Soon” field once the formula is used.  5 - Automation Enthusiast

Hi everyone. I think I have the definitive formula based on the birthdate .

``````IF(
DATETIME_DIFF(
DATETIME_PARSE(CONCATENATE(YEAR(TODAY()), '-', DATETIME_FORMAT({Birthdate}, 'MM'), '-', DATETIME_FORMAT({Birthdate}, 'DD'))),
TODAY(),
'days'
) < 0,
DATEADD(DATETIME_PARSE(CONCATENATE(YEAR(TODAY()), '-', DATETIME_FORMAT({Birthdate}, 'MM'), '-', DATETIME_FORMAT({Birthdate}, 'DD'))), 1, 'year'),
DATETIME_PARSE(CONCATENATE(YEAR(TODAY()), '-', DATETIME_FORMAT({Birthdate}, 'MM'), '-', DATETIME_FORMAT({Birthdate}, 'DD')))
)``````

Best regards 