Excel guide · 5 min read
How to calculate weeks between two dates in Excel
=(C2-B2)/7 gives weeks with a decimal. Wrap it in INT for full weeks only, =INT((C2-B2)/7), and use MOD(C2-B2,7) for the leftover days. Excel stores dates as day numbers, so the subtraction gives days and dividing by 7 turns them into weeks.Sample data
Every result on this page was calculated from this sheet by the same spreadsheet engine the Cellwise app uses.
| A | B | C | |
|---|---|---|---|
| 1 | Job | Start | End |
| 2 | Kitchen refit | Sep 7, 2026 | Oct 19, 2026 |
| 3 | Loft conversion | Aug 3, 2026 | Nov 6, 2026 |
| 4 | Bathroom | Oct 1, 2026 | Oct 23, 2026 |
| 5 | Garden wall | Oct 12, 2026 | Oct 14, 2026 |
| 6 | Driveway | Oct 30, 2026 | 16/11/2026 |
Download this sheet as an Excel practice file (.xlsx)
Weeks with a decimal: (end - start) / 7
Column B holds each job's start date and column C its end date. Subtracting two real dates returns the number of days between them, because each date is stored as a whole number of days. Divide that by 7 and you have weeks.
If the result shows as a date like 1/6/1900, the cell picked up a date format from the cells you referenced. Change it to General or Number (Home > Number Format). The value was right all along.
Result: 13.571428571
13.571428571 for the loft conversion: 95 days from Aug 3 to Nov 6, 2026, divided by 7. Use ROUND(...,1) to show 13.6.
Full weeks only with INT
For "how many complete weeks has this job run", drop the decimal with INT. It always rounds down, so 13.57 becomes 13, which is what people mean by full weeks.
Excel's DATEDIF function has no week unit (its units are "y", "m", "d", "md", "ym" and "yd"), so =DATEDIF(B3,C3,"d")/7 is the same as plain subtraction. There is no need for it here.
Result: 13
13 full weeks.
"13 weeks 4 days" with INT and MOD
MOD(days,7) returns what is left after taking out the whole weeks. Join both parts with & to get a label that clients and managers read more easily than 13.57.
For a label that never says "1 days", add IF tests for singular: =INT((C4-B4)/7)&IF(INT((C4-B4)/7)=1," week "," weeks ")&MOD(C4-B4,7)&IF(MOD(C4-B4,7)=1," day"," days") returns 3 weeks 1 day for the bathroom job. Keep the number version in another column if you need to sum or sort, because the label is text.
Result: 13 weeks 4 days
13 weeks 4 days.
Round up to billable weeks
If you charge or schedule by the week, any part of a week counts as a whole one. ROUNDUP with 0 decimal places rounds every fraction up. The bathroom ran 22 days, which is 3.14 weeks, so it bills as 4.
Be careful with short jobs. The garden wall took 2 days and still rounds up to 1 week. That is usually what a weekly rental or retainer means, but check it matches your contract before you send invoices from it.
Result: 4
4 billable weeks for the bathroom job (22 days).
Counting both the first and last day
End minus start does not count the start day. The kitchen refit ran Sep 7 to Oct 19: subtraction says 42 days, exactly 6 weeks. If the crew was on site on both of those days, they worked 43 calendar days, which is 6 weeks and 1 day.
Decide which you mean and add 1 when both ends count. The same rule applies to NETWORKDAYS, which already counts both ends: =NETWORKDAYS(B3,C3) returns 70 working days for the loft, which is 14 five-day working weeks, while the calendar calculation said 13.57.
Result: 6 weeks 1 days
6 weeks 1 days. Without the +1 it would be 6 weeks 0 days.
Calendar weeks touched (Monday to Sunday)
Timesheets and rotas often need "how many separate weeks does this job appear in", not the length. The loft starts on a Monday and ends on a Friday 13 weeks and 4 days later, so it shows up on 14 weekly timesheets.
WEEKDAY(date,2) numbers Monday as 1 and Sunday as 7, so date-WEEKDAY(date,2) jumps back to the Sunday before. Do that to both dates, divide the gap by 7 and add 1.
If you need ISO week numbers (week 1 is the week with the year's first Thursday), Excel has ISOWEEKNUM(date) and WEEKNUM(date,21). Subtracting week numbers breaks across New Year, when week 52 is followed by week 1, so use the formula below for counts.
Result: 14
14 calendar weeks, Monday Aug 3 through the week of Monday Nov 2.
When one date is text
The driveway end date in C6 was pasted from a UK subcontractor's sheet as 16/11/2026. On a US-English system there is no month 16, so Excel keeps it as text and the subtraction fails. A text date that looks like a valid US date can be worse: Excel may quietly read 05/11/2026 as May 11.
Check with =ISNUMBER(C6), which returns FALSE for text. Convert the column with Data > Text to Columns and choose DMY on step 3, or see the guide on converting text to dates.
Result: #VALUE!
#VALUE!, because 16/11/2026 is text that Excel cannot read as a date in month/day/year order.
Common mistakes
The result shows as a date like 1/13/1900
The answer cell inherited a date format. Set it to General or Number and the week count appears.
Using ROUND for full weeks
ROUND turns 13.57 into 14, a week that has not finished. Use INT for completed weeks and ROUNDUP only when part weeks really count as whole ones.
Off by one day
End minus start excludes the start day. Add 1 if both the first and last day count, and say which convention the sheet uses in a note or header.
Subtracting WEEKNUM values across New Year
Week numbers restart at 1 every January, so a job from week 50 to week 3 gives a negative answer. Work from the dates themselves, as in the calendar-weeks formula.
FAQ
How do I calculate the number of weeks between two dates in Excel?
Use =(C2-B2)/7 for weeks with decimals, or =INT((C2-B2)/7) for complete weeks only. Both cells must hold real dates, not text.
Is there a DATEDIF unit for weeks?
No. DATEDIF supports "y", "m", "d", "md", "ym" and "yd" only. Use the day difference divided by 7 instead.
How do I show weeks and days, like "6 weeks 3 days"?
Use =INT((C2-B2)/7)&" weeks "&MOD(C2-B2,7)&" days". INT gives the whole weeks and MOD the leftover days. The result is text, so keep a numeric version in another column for totals.
How do I count weeks from a date until today?
Replace the end date with TODAY(): =INT((TODAY()-B2)/7). The result updates every day the workbook recalculates.
How do I count working weeks between two dates?
Count working days with NETWORKDAYS(B2,C2), optionally with a range of holiday dates as the third argument, then divide by 5. NETWORKDAYS counts both the start and end dates.
Functions used
INTRounds down to integerMODRemainder after divisionROUNDUPRounds away from zeroROUNDRounds to digitsWEEKDAYDay of the week as a numberNETWORKDAYSWeekdays between datesDATEDIFWhole years, months or days betweenISNUMBERIs it a number?TODAYToday’s date
Related guides
- How to calculate days between two dates in Excel
- How to calculate months between two dates in Excel
- How to count working days between two dates in Excel
- How to add days to a date in Excel
- Convert minutes to hours and minutes in Excel
- Countdown in Excel: how many days until a date
- How to subtract in Excel
Updated