Help

The Community will be temporarily unavailable starting on Friday February 28. We’ll be back as soon as we can! To learn more, check out our Announcements blog post.

Birthday formula

Topic Labels: Formulas
Solved
Jump to Solution
3938 6
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.