# How to move a date that falls on a weekend to the next business day in Excel

Step back one day and forward one working day: `=WORKDAY(B2-1,1,holidays)`. Weekdays stay put; weekends and holidays move forward.

**Excel:** `=WORKDAY(B2-1,1,$E$2:$E$3)` (Every current version)

**Google Sheets:** the same formula works.

## Example

Sample data (row 1 is the header):

| A | B | C | D | E |
| --- | --- | --- | --- | --- |
| Payment | Scheduled | Adjusted |  | Holidays |
| Rent | 2026-08-01 |  |  | 2026-09-07 |
| Payroll | 2026-08-14 |  |  | 2026-10-12 |
| Loan | 2026-09-05 |  |  |  |
| Insurance | 2026-10-11 |  |  |  |
| Utilities | 2026-11-15 |  |  |  |
| Credit card | 2026-12-01 |  |  |  |

Formula in C2, filled to C7: `=WORKDAY(B2-1,1,$E$2:$E$3)`

Result: 8/3/2026; 8/14/2026; 9/8/2026; 10/13/2026; 11/16/2026; 12/1/2026

## How it works

Going back one day and then forward one working day lands on the date itself when it is already a business day, and on the next business day when it isn't. The loan payment on Saturday, September 5 moves past Labor Day to Tuesday, September 8.

## Other ways

- `=IF(WEEKDAY(B2,2)>5,B2+8-WEEKDAY(B2,2),B2)`: Handles weekends only, in any version: Saturday and Sunday move to Monday. (Ignores holidays, so September 5 moves to Monday, September 7.)

## Common mistakes

- `=WORKDAY(B2,1)` always moves the date, even when it's already a weekday. The `B2-1` is what keeps weekday dates where they are.
- Banks observe weekend holidays on a nearby weekday. List the observed date, not the calendar date, in the holiday range.

## Questions

**How do I move it to the previous business day instead?**

Mirror it: `=WORKDAY(B2+1,-1,$E$2:$E$3)` moves a Saturday back to Friday.

**How do I just check whether a date is on a weekend?**

`=WEEKDAY(B2,2)>5` is TRUE for Saturday and Sunday.

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/move-weekend-dates-to-the-next-business-day
