Due Date Formulas in Excel: Days, Workdays, Months
By ExcelReady TeamUpdated 6 min read
The short answer
The due date formula in Excel depends on your terms. For a set number of calendar days, add them: =B2+30. To count only working days and skip holidays, use =WORKDAY(B2,10,holidays). For a due date a set number of months later, use =EDATE(B2,1). Then compare the due date with TODAY() to show days left or flag overdue items.
Key takeaways
- Calendar days: =B2+30 adds 30 days, including weekends.
- Working days: =WORKDAY(B2,10,$F$2:$F$4) skips weekends and the holidays in F2:F4.
- Months: =EDATE(B2,1) gives the same day next month, and handles short months.
- End-of-month terms: =EOMONTH(B2,0)+30 counts 30 days from the end of the invoice month.
- Days left is =D2-TODAY(); a negative number means the item is overdue.
On this page+
The right due date formula in Excel depends on how your terms count time: calendar days, working days or months. Add days with =B2+30, skip weekends and holidays with WORKDAY, and add months with EDATE. This guide shows each one on real invoice and task dates, then how to show days left and flag anything overdue.
Which due date formula do you need?#
Pick the formula that matches the words in your terms. Here are the common cases for an invoice dated Friday 15 March 2024:
| Terms | Formula | Due date |
|---|---|---|
| Due in 30 days | =B2+30 | Sun 14 Apr 2024 |
| Due in 10 working days | =WORKDAY(B2,10) | Fri 29 Mar 2024 |
| Due in 1 month | =EDATE(B2,1) | Mon 15 Apr 2024 |
| 30 days after month end | =EOMONTH(B2,0)+30 | Tue 30 Apr 2024 |
| 30 days, moved off weekends | =WORKDAY(B2+30-1,1) | Mon 15 Apr 2024 |
Every result is a real date, so you can sort, filter and compare it. If a result shows as a number like 45396, format the cell as a date (Windows: Ctrl+1; Mac: ⌘1).
How to add calendar days to a date#
To add calendar days, just add the number. Excel stores dates as serial numbers that count days, so adding 30 moves the date 30 days on:
=B2+30For an invoice dated 15 March 2024, this gives 14 April 2024. Calendar days include weekends and holidays, which is how most payment terms such as "Net 30" are written.
To keep the number of days flexible, put it in its own column. If C2 holds the terms in days, =B2+C2 works for every row, whether the customer has 14, 30 or 60 days. The guide to adding days, months and years to a date covers more variations.
How to calculate a due date in working days with WORKDAY#
Use WORKDAY when the deadline counts only business days. It skips Saturdays and Sundays, and any holidays you list:
=WORKDAY(start_date, days, [holidays])For a task that starts on Friday 19 December 2025 and is due in 10 working days, with office holidays on 25 and 26 December and 1 January in F2:F4:
=WORKDAY(B2,10,$F$2:$F$4)The result is Wednesday 7 January 2026. Without the holiday range, the answer would be Friday 2 January, five days too early.
Lock the holiday range with dollar signs so it stays in place when you fill the formula down. WORKDAY doesn't count the start date itself: day 1 is the next working day. The WORKDAY function guide has more examples. If your weekend isn't Saturday and Sunday, WORKDAY.INTL lets you choose which days are off.
How to add months with EDATE#
Use EDATE when terms are in months, such as a monthly renewal or a 6-month review. It returns the same day of the month, a set number of months later:
=EDATE(B2,1)For 15 March 2024, the result is 15 April 2024. EDATE handles short months for you: one month after 31 January 2024 is 29 February 2024, not an error. A negative number goes back in time, so =EDATE(B2,-3) gives the date three months earlier. The EDATE function guide explains the details.
For terms that count from the end of the month, use EOMONTH. EOMONTH(B2,0) returns the last day of B2's month, so =EOMONTH(B2,0)+30 gives 30 days after month end: 30 April 2024 for a March invoice.
How to move a due date off the weekend#
To push a weekend due date to the next Monday, let WORKDAY take the final step:
=WORKDAY(B2+30-1,1)The formula goes to the day before the plain due date, then asks for the next working day. If the plain due date is a weekday, you get that same date. If it's a Saturday or Sunday, you get the following Monday.
For the 15 March invoice, the plain due date is Sunday 14 April. This formula returns Monday 15 April 2024. Add the holiday range as a third argument to skip holidays too.
How to show days left and overdue items#
Subtract TODAY() from the due date to count the days left. TODAY returns the current date and updates every time the file recalculates:
=D2-TODAY()A positive number is days remaining, 0 means due today, and a negative number means overdue. Format the result cell as General so it shows a number, not a date.
To show a status word instead:
=IF(D2<TODAY(),"Overdue",IF(D2-TODAY()<=7,"Due soon","On time"))This labels each row Overdue, Due soon (within 7 days) or On time. For a fuller walkthrough of countdowns, see counting the days until a deadline. To colour the rows, use the same tests in a conditional formatting rule.
Common mistakes with due date formulas#
Most errors come from the wrong kind of day or from the date format. Check these:
- Calendar vs working days. "30 days" and "30 business days" are very different.
=B2+30and=WORKDAY(B2,30)can end up almost two weeks apart. - Unlocked holiday range. Without
$signs, the holiday range slides down as you fill and misses dates. - Holidays stored as text. WORKDAY ignores holiday cells that aren't real dates.
- Adding 30 for a month.
=B2+30isn't one month. Use EDATE when the terms say months. - Result shows as a number. Format the cell as a date.
For a wider view of how these functions fit together, see the overview of Excel date functions.
Practise it#
Due dates are a favourite in admin, finance and operations job tests. Practise NETWORKDAYS and WORKDAY in a live spreadsheet, then put every date skill together in the date skills summary lesson. Each formula is checked instantly. Or try the exercise on this page first.
Try it yourself
This is a live spreadsheet. Type the formula in the green cell and press Enter.
The task is due 10 working days after the start date in B2, skipping weekends and the office holidays in F2:F4. Click C2 and use WORKDAY with the holiday range locked as $F$2:$F$4.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Due | Holidays | |||||
| 2 | |||||||
| 3 | |||||||
| 4 | |||||||
| 5 | |||||||
| 6 | |||||||
| 7 |
Tip: WORKDAY takes the start date, the number of working days, then the holiday range.
Practise this in a lesson
Frequently asked questions
How do I calculate a due date in Excel?
Add the number of days to the start date: =B2+30 for 30 days. Use =WORKDAY(B2,30) to count only Monday to Friday, or =EDATE(B2,1) for one month later.
How do I calculate a due date excluding weekends and holidays?
Use WORKDAY with a holiday range: =WORKDAY(B2,10,$F$2:$F$4). It counts 10 working days after B2, skipping Saturdays, Sundays and every date listed in F2:F4.
How do I move a due date that falls on a weekend?
Use =WORKDAY(B2+30-1,1). It goes to the day before the plain due date, then moves one working day forward, so a weekend due date lands on the next Monday.
How do I show if something is overdue?
Compare the due date with today: =IF(D2<TODAY(),"Overdue","On time"). Use conditional formatting with the same test to colour overdue rows.
Why does my due date show as a number?
Excel stores dates as numbers, and the result cell has a General or Number format. Format the cell as a date with Ctrl+1 on Windows or ⌘1 on Mac.