Arte SheetsLearn. Try. Understand.

Dynamic Arrays

Create a date sequence between two dates with SEQUENCE

Generate an inclusive daily or weekly calendar column dynamically from StartDate and EndDate using SEQUENCE(End - Start + 1, 1, Start, 1).

Remember the +1 fencepost for inclusive date ranges

Subtracting April 10 from April 16 equals 6 intervals, but an inclusive schedule from April 10 through April 16 contains 7 calendar dates. Pass EndDate - StartDate + 1 as the rows count to SEQUENCE, StartDate as start, and 1 as step.

For weekly schedules (every 7 days starting on StartDate), set rows to INT((EndDate - StartDate) / 7) + 1 and step to 7.

Use numeric date-only inputs with end on or after start and a bounded range that fits the sheet. The ROWS example checks the count; to generate the dates themselves, enter =SEQUENCE(B2-A2+1,1,A2,1) into a clear output area.

StartDate (A)EndDate (B)Daily Rows (B-A+1)4th Generated Date
2026-04-102026-04-1672026-04-13
2026-04-102026-05-0122 (4 weekly)2026-05-01 (4th wk)

Daily and weekly dynamic calendar formulas

ROWS confirms 7 generated daily rows from April 10 to April 16, and INDEX(..., 4, 1) inspects the 4th spilled date (2026-04-13).

=ROWS(SEQUENCE(B2 - A2 + 1, 1, A2, 1))

Inspect spilled calendar entries

Format spilled SEQUENCE cells as yyyy-mm-dd so date serial numbers display as readable dates.

=TEXT(INDEX(SEQUENCE(B2 - A2 + 1, 1, A2, 1), 4, 1), "yyyy-mm-dd")

Try the example

Use the original values or change them to test your understanding.

Further reading