Sequence of months
which outputs a series of 12 dates, incremented by one month, beginning on May 1, 2019.
Note: this is an array formula and must be entered with control + shift + enter.
The EDATE function moves forward or backwards in time in one-month increments from a given start date. The SEQUENCE function is a dynamic array function that can generate multiple results that "spill" onto the worksheet in a "spill range".
SEQUENCE can generate results in rows, columns, or both. In this case, SEQUENCE is configured to output an array of numbers that is 12 rows by 1 column:
The start is zero, and step value defaults to 1, so SEQUENCE outputs an array like this:
This array is returned to as the months argument inside the EDATE function. EDATE then returns 12 dates, beginning with the date in B5. Excel dates are stored as serial numbers, so the output looks like this:
When these results are formatted as dates, the result is 12 dates incremented by one month, beginning May 1, 2019.
Note: Unlike some other functions (e.g. the DATE function) the EDATE function does not automatically spill into other cells when delivering more than one result. As a workaround, you can enter as a multi-cell array formula. You must select all 12 cells first to enter or edit the formula.
End of month
To generate a series of "end of month" dates, you use the EOMONTH function instead of EDATE. The formula in F5 is:
This is also a multi-cell array formula, so you must must select all 12 cells first to enter or edit the formula.