# How to list only weekdays between two dates in Excel

Count the weekdays with NETWORKDAYS and step through them with WORKDAY: `=WORKDAY(B1-1,SEQUENCE(NETWORKDAYS(B1,B2)))`.

**Excel:** `=WORKDAY(B1-1,SEQUENCE(NETWORKDAYS(B1,B2)))` (Excel 2021, 2024 and Microsoft 365)

**Google Sheets:** `=ARRAYFORMULA(WORKDAY(B1-1,SEQUENCE(NETWORKDAYS(B1,B2))))`

## Example

Sample data (row 1 is the header):

| A | B | C | D |
| --- | --- | --- | --- |
| Start | 2026-06-01 |  | Workdays |
| End | 2026-06-12 |  |  |

Formula in D2: `=WORKDAY(B1-1,SEQUENCE(NETWORKDAYS(B1,B2)))`

Result (spills 10 × 1): Jun 1, 2026; Jun 2, 2026; Jun 3, 2026; Jun 4, 2026; Jun 5, 2026; Jun 8, 2026; Jun 9, 2026; Jun 10, 2026; Jun 11, 2026; Jun 12, 2026

## How it works

NETWORKDAYS counts the weekdays in the period, 10 here. SEQUENCE turns that into 1 to 10, and WORKDAY returns the 1st, 2nd, … 10th working day after the day before the start, which skips every Saturday and Sunday. Add a holiday range as WORKDAY's third argument (and NETWORKDAYS's) to skip holidays too.

## Other ways

- `=LET(d,SEQUENCE(B2-B1+1,1,B1),FILTER(d,WEEKDAY(d,2)<6))`: List every date, then keep those whose weekday number is 1 to 5 (Monday to Friday). Easy to adapt to other days, such as only Tuesdays.

## Common mistakes

- Start WORKDAY from `B1-1`, the day before. Starting from `B1` skips the start date itself.
- The holiday list must be real dates. Text that looks like a date is ignored, so the holiday stays in the list.

## Questions

**How do I skip holidays too?**

Give both functions the holiday range: `=WORKDAY(B1-1,SEQUENCE(NETWORKDAYS(B1,B2,F2:F5)),F2:F5)`.

**How do I list only Mondays?**

Filter every date by weekday: `=LET(d,SEQUENCE(B2-B1+1,1,B1),FILTER(d,WEEKDAY(d,2)=1))`.

Every formula and result on this page was checked by running it in the Spreadsheet Practice formula engine on 2026-10-30.

Source: https://spreadsheetpractice.com/formulas/list-weekdays-between-two-dates
