Help

Re: Birthday formula

Solved
Jump to Solution
2151 0
cancel
Showing results for 
Search instead for 
Did you mean: 
davidcarldesign
6 - Interface Innovator
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?

scrnli_19_08_2022_11-39-41

1 Solution

Accepted Solutions
JonathanB
8 - Airtable Astronomer
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.

See Solution in Thread

6 Replies 6
JonathanB
8 - Airtable Astronomer
8 - Airtable Astronomer

IF(DATETIME_DIFF(TODAY(), {Birthday}, "months")<=2, "Soon")

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.

JonathanB
8 - Airtable Astronomer
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.

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.

Comercial_Tesal
6 - Interface Innovator
6 - Interface Innovator

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

Hello, this is great! But it's giving me a day behind. So if the birthdate is 09/30/1988, the formula is showing 09/29/2024 instead of the 30th.