Dates & Schedules
Generate a Dynamic Sequence of Upcoming Weekend Dates (WEEKDAY & SEQUENCE)
Anchor on the first Saturday on or after any start date using WEEKDAY(start, 2) modular arithmetic and step forward in 7-day increments with SEQUENCE.
Compute weekend maintenance windows from any arbitrary start date
Release engineering and retail staffing schedules often need the next N Saturdays (or Saturday/Sunday pairs) starting on or after a project kickoff date. Under ISO weekday numbering WEEKDAY(d, 2) (Monday = 1 ... Saturday = 6, Sunday = 7), the offset to the first Saturday on or after d is MOD(6 - WEEKDAY(d, 2) + 7, 7) days.
Adding SEQUENCE(N, 1, 0, 7) to that first Saturday generates N consecutive Saturdays in a single dynamic array, while adding +1 to any Saturday yields its paired Sunday.
| Start Date | WEEKDAY(d, 2) | Offset MOD(6-w+7,7) | 1st Saturday | 4th Saturday (+21d) |
|---|---|---|---|---|
| 2026-05-01 (Fri) | 5 | 1 day | 2026-05-02 | 2026-05-23 |
| 2026-05-02 (Sat) | 6 | 0 days | 2026-05-02 | 2026-05-23 |
| 2026-05-03 (Sun) | 7 | 6 days | 2026-05-09 | 2026-05-30 |
First Upcoming Saturday On or After Start Date B2
Formats the first Saturday on or after B2 as ISO yyyy-mm-dd.
=TEXT(B2 + MOD(6 - WEEKDAY(B2, 2) + 7, 7), "yyyy-mm-dd")Nth Upcoming Saturday from Dynamic SEQUENCE
Generates B3 weekly Saturday serials via SEQUENCE and formats the last (B3-th) Saturday.
=IF(B3 < 1, "Count >= 1 Required", TEXT(INDEX(B2 + MOD(6 - WEEKDAY(B2, 2) + 7, 7) + SEQUENCE(B3, 1, 0, 7), B3), "yyyy-mm-dd"))Try the example
Use the original values or change them to test your understanding.