Cellwise Start free

Excel guide · 5 min read

How to calculate weeks between two dates in Excel

Quick answerSubtract the dates and divide by 7: =(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.

ABC
1JobStartEnd
2Kitchen refitSep 7, 2026Oct 19, 2026
3Loft conversionAug 3, 2026Nov 6, 2026
4BathroomOct 1, 2026Oct 23, 2026
5Garden wallOct 12, 2026Oct 14, 2026
6DrivewayOct 30, 202616/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.

=(C3-B3)/7

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.

=INT((C3-B3)/7)

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.

=INT((C3-B3)/7)&" weeks "&MOD(C3-B3,7)&" days"

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.

=ROUNDUP((C4-B4)/7,0)

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.

=INT((C2-B2+1)/7)&" weeks "&MOD(C2-B2+1,7)&" days"

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.

=((C3-WEEKDAY(C3,2))-(B3-WEEKDAY(B3,2)))/7+1

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.

=C6-B6

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

Related guides

Updated