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-10 | 2026-04-16 | 7 | 2026-04-13 |
| 2026-04-10 | 2026-05-01 | 22 (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.