Excel guide · 4 min read
How to sum by week in Excel
=SUMIFS($C$2:$C$11,$A$2:$A$11,">="&F2,$A$2:$A$11,"<"&F2+7) and fill down. It adds every amount dated from that Monday up to, but not including, the next Monday. To find each row's week start, use =A2-WEEKDAY(A2,2)+1.Sample data
Every result on this page was calculated from this sheet by the same spreadsheet engine the Cellwise app uses.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Date | Channel | Sales | Week start | Week of | Total | |
| 2 | Dec 15, 2026 | Online | 1240 | Dec 14, 2026 | Dec 14, 2026 | ||
| 3 | Dec 19, 2026 | Shop | 2860 | Dec 14, 2026 | Dec 21, 2026 | ||
| 4 | Dec 20, 2026 | Shop | 1975 | Dec 14, 2026 | Dec 28, 2026 | ||
| 5 | Dec 21, 2026 | Online | 3410 | Dec 21, 2026 | Jan 4, 2027 | ||
| 6 | Dec 24, 2026 | Shop | 4150 | Dec 21, 2026 | |||
| 7 | Dec 28, 2026 | Online | 980 | Dec 28, 2026 | |||
| 8 | Dec 31, 2026 | Shop | 1620 | Dec 28, 2026 | |||
| 9 | Jan 2, 2027 | Shop | 2305 | Dec 28, 2026 | |||
| 10 | Jan 4, 2027 | Online | 1115 | Jan 4, 2027 | |||
| 11 | Jan 8, 2027 | Shop | 1490 | Jan 4, 2027 |
Download this sheet as an Excel practice file (.xlsx)
Step 1: find the week start for each date
WEEKDAY(A2,2) numbers the days Monday = 1 through Sunday = 7. Subtracting that and adding 1 takes any date back to its Monday: Tuesday 15 Dec goes back one day, Sunday 20 Dec goes back six. Column D in the sample does this for every row.
The result is a real date, so format it as a date (for example ddd d mmm) rather than General, or it shows as a number like 46370. This helper column is also handy on its own: you can filter or sort by it, and it is easy to check by eye.
Result: Mon 14 Dec 2026
Mon 14 Dec 2026: Sunday 20 December belongs to the week that started on Monday the 14th.
Step 2: a weekly summary with SUMIFS
Put the Monday of each week in F2:F5. Type the first one, then =F2+7 in F3 and fill down. In G2, SUMIFS adds the sales dated on or after that Monday and before the next Monday. Lock the data ranges with $ so they stay put when you fill down.
This version does not need the helper column at all, and it copes with dates that carry a time, such as 24/12/2026 16:40, because "<" the next Monday includes the whole of Sunday. The four weeks come to 6,075, 7,560, 4,905 and 2,605.
Result: 6075
6,075 for the week of 14 December: 1,240 + 2,860 + 1,975.
Simpler with the helper column: SUMIF
If column D already holds each row's week start, a single-condition SUMIF is enough: match the week start and add the sales. It is easier to read and explain to someone else, at the cost of one extra column.
Add more conditions with SUMIFS. Shop sales for the week of 21 December are =SUMIFS($C$2:$C$11,$D$2:$D$11,F3,$B$2:$B$11,"Shop"), which gives 4,150.
Result: 7560
7,560 for the week of 21 December: 3,410 + 4,150.
Weeks that start on Sunday
Retail and US calendars often run Sunday to Saturday. Use WEEKDAY with no second argument (Sunday = 1) and the same subtract-and-add-1 pattern. Your summary list then needs Sundays instead of Mondays.
Choosing the start day changes the totals, not just the labels. The 1,975 on Sunday 20 December sits in the 14 December week with Monday weeks, and in the 20 December week with Sunday weeks. Agree the rule before you compare weekly figures with anyone else's report.
Result: Sun 20 Dec 2026
Sun 20 Dec 2026: with Sunday-start weeks, that sale begins a new week.
Why not WEEKNUM? The year-end trap
WEEKNUM(date,2) returns a Monday-start week number, and summing by week number looks tidy. But WEEKNUM restarts at 1 every 1 January, so the week of 28 December 2026 is split in two: 28 to 31 December get week 53, and 1 to 3 January get week 1. The 2,305 from 2 January lands in a different "week" from the 980 and 1,620 earlier that week, and week 1 of 2027 also collides with week 1 of every other year.
ISOWEEKNUM follows the ISO 8601 rule (weeks start on Monday, week 1 contains the first Thursday of the year), which keeps the 28 December week together as week 53 of 2026. Even so, a week-start date is easier: it never repeats across years, it sorts correctly, and it tells the reader which week they are looking at. Totals for the 28 December week come to 4,905 whichever year the days fall in.
Result: 4905
4,905 for the week of 28 December: 980 + 1,620 + 2,305, across both years.
No formulas: PivotTable grouping by 7 days
A PivotTable can group dates into weeks for you. The key detail is the start date: Excel starts the first group on the earliest date in the data, which is a Tuesday here, so set it to a Monday by hand or every week runs Tuesday to Monday.
- Select the data and go to Insert > PivotTable, then click OK.
- Drag Date to Rows and Sales to Values.
- Right-click any date in the PivotTable and choose Group.
- In the Grouping box, select Days only (click Months, Quarters and Years to clear them).
- Set Number of days to 7.
- Change Starting at to a Monday on or before the first date, such as 12/14/2026, then click OK.
Common mistakes
Week numbers that split a week at New Year
WEEKNUM restarts at 1 on 1 January. Group by a week-start date instead, or use ISOWEEKNUM together with the year.
Using "<=" the Sunday and missing late entries
A date with a time, such as Sunday 6 PM, is greater than the Sunday date. Use "<"&start+7 so the whole last day counts.
The helper column shows numbers like 46370
That is the date's serial number. Format the column as a date with Ctrl+1.
The PivotTable weeks start on the wrong day
Grouping starts on the earliest date in the data. In the Grouping box, set Starting at to a Monday (or Sunday) yourself.
FAQ
How do I sum values by week in Excel?
List each week's start date, then use =SUMIFS(amounts,dates,">="&F2,dates,"<"&F2+7) next to it and fill down. It works in every Excel version and handles dates with times.
How do I get the Monday of the week from a date?
Use =A2-WEEKDAY(A2,2)+1 and format the result as a date. For Sunday-start weeks use =A2-WEEKDAY(A2)+1.
How do I make a weekly total update automatically in Excel 365?
Build the week list with =SORT(UNIQUE(A2:A11-WEEKDAY(A2:A11,2)+1)), which spills one Monday per week in the data, and point the SUMIFS at that spilled list. New weeks appear when new dates are added inside the range.
Should I use WEEKNUM or ISOWEEKNUM?
WEEKNUM uses Sunday-start weeks by default and restarts at 1 every January, so a week can be split across two numbers. ISOWEEKNUM uses Monday-start ISO weeks. For totals, a week-start date is clearer than either number.
Functions used
WEEKDAYDay of the week as a numberSUMIFSAdds with several conditionsSUMIFAdds cells that matchTEXTNumber to formatted textUNIQUERemoves duplicates, spillsSORTSorts a range, spills
Related guides
- How to sum by month in Excel
- SUMIFS between two dates in Excel
- How to get the day of the week from a date in Excel
- Check if a date is a weekend in Excel
- Excel formulas cheat sheet: the 25 everyone should know
- How to find the last day of the month in Excel
Updated