Exceljet

Quick, clean, and to the point

Next anniversary date

Excel formula: Next anniversary date
Generic formula 
=EDATE(date,(DATEDIF(date,as_of,"y")+1)*12)
Explanation 

To calculate the next anniversary date, you can use a formula based on the EDATE and DATEDIF functions. In the example shown, the formula in D5 is:

 =EDATE(B5,(DATEDIF(B5,C5,"y")+1)*12)

This formula will work to calculate next upcoming birthday as well.

How this formula works

Working from the inside out, we use the DATEDIF function to calculate how many complete years are between the the original anniversary date and the "as of" date, where the as of date is any date after the anniversary date:

DATEDIF(B5,C5,"y")

Note: in this case, we are arbitrarily fixing the as of date as June 1, 2017 in all examples.

Because we are interested in the *next* anniversary date, we add 1 to the DATEDIF result, then multiply by 12 to convert to years to months.

Next, the month value goes into the EDATE function, with the original date from column B. The EDATE function rolls the original date forward by the number of months given in the previous step which creates the next upcoming anniversary date.

As of today

To calculate the next anniversary as of today, use the TODAY() function for the as of date:

=EDATE(date,(DATEDIF(date,TODAY(),"y")+1)*12)
Author 
Dave Bruns

Excel Formula Training

Formulas are the key to getting things done in Excel. In this accelerated training, you'll learn how to use formulas to manipulate text, work with dates and times, lookup values with VLOOKUP and INDEX & MATCH, count and sum with criteria, dynamically rank values, and create dynamic ranges. You'll also learn how to troubleshoot, trace errors, and fix problems. Instant access. See details here.