What columns does a to-do list template need in Excel?
to-do list template for Excel is a key topic in modern project management and teamwork. Thirteen columns is the practical sweet spot. Fewer and you cannot filter or measure; more and the list becomes data entry rather than work.
| # | Column | How it is filled | Why it earns its place |
|---|---|---|---|
| A | ID | Typed, or formula =ROW()-1 | Stable reference for notes and updates |
| B | Task | Typed | One action, starting with a verb |
| C | Project | Dropdown list | Lets you filter to one context |
| D | Owner | Dropdown list | A task without an owner is a suggestion |
| E | Priority | Dropdown 1-4 (1 = highest) | Stops everything becoming urgent |
| F | Status | Dropdown: Not started, In progress, Blocked, Done | The only manual status field you need |
| G | Due date | Typed, validated as a date | The anchor for every calculation |
| H | Estimate (h) | Typed in hours | Makes capacity visible |
| I | % complete | Typed 0-100% | Optional, useful for long tasks |
| J | Days left | Formula | Answers “how long have I got” instantly |
| K | Priority score | Formula | Produces a defensible order of work |
| L | Next action | Typed | Forces the next physical step to be named |
| M | Last updated | Typed or formula date | Reveals stale tasks nobody is touching |
Two design choices deserve a note. First, Status stays a dropdown, not a formula. People know whether they are blocked or in progress, and asking them to encode that through percent complete produces fiction. Second, Priority is a number, not a colour. Colours cannot be sorted; numbers can.
The Next action column sounds like productivity folklore until you use it. “Renew domain” is a task you postpone for a week. “Email the registrar for the transfer code” is a task you can do in four minutes. The second version gets completed because it does not require a decision first.
How do you build the template in ten steps?
Start with a blank sheet, not an existing planner. Ten steps, roughly ten minutes.
- Create a table. Type the 13 headers in row 1 and press Ctrl+T. Name the table Tasks in Table Design. Structured references then make every formula readable and self-extending.
- Add dropdowns. Select the Priority cells, open Data > Data Validation > List, and enter 1,2,3,4. Repeat for Status with Not started,In progress,Blocked,Done.
- Validate the due date. Data > Data Validation > Date, with a sensible range such as today to five years out. This stops “next week” being typed into a date column.
- Add the days-left formula in J2 and fill down: =IF(G2=””,””,G2-TODAY()).
- Add the priority score in K2: =IF(G2=””,””,(5-E2)*10+MAX(0,15-(G2-TODAY()))*2+IF(F2=”Blocked”,15,0)).
- Add the last-updated field. Type the date when a row is created or changed. A helper column returning TODAY()-M2 feeds the stale rule later.
- Apply three conditional formatting rules to A2:M200. The next section gives the exact formulas.
- Freeze the header row with View > Freeze Panes > Freeze Top Row, so the columns stay visible while scrolling.
- Build the summary panel above or beside the table with four COUNTIFS formulas.
- Set up printing. Define the print area, choose landscape, and set “Repeat header rows” so a printed list is readable.
Save the finished file as todo-template.xlsx and mark it read-only. Every new week starts from a copy, which prevents the template itself from becoming a graveyard of last month’s tasks.
Join Doitify Today
Move projects forward without the chaos: all your tasks, progress, and team reports in one unified workspace. Built for companies, startups, and remote teams — with a quick setup and a free trial.
Which formulas actually matter?
Five formulas carry the template. Everything else is decoration.
Days left. =IF(G2=””,””,G2-TODAY()) returns a negative number for overdue items, which is exactly what you want for sorting. If you prefer working days, =IF(G2=””,””,NETWORKDAYS(TODAY(),G2)-1) is more accurate for tasks that span weekends.
Status suggestion. If you want the sheet to nudge people rather than police them, add a helper column: =IF(F2=”Done”,”Done”,IF(G2-TODAY()<0,”Overdue”,IF(G2-TODAY()<=3,”Due soon”,”On track”))). Keep the manual Status column as the source of truth and treat this as a check.
Priority score. The formula above weights three things: base priority (up to 40 points), due proximity (up to 30 points), and blocked status (15 points). A task with priority 2, due in three days, currently blocked scores 30 + 24 + 15 = 69. A priority 4 task due in 20 days scores 10 + 0 + 0 = 10. Sort descending and the top of the list is defensible in a standup.
Open task count. =COUNTIFS(Tasks[Status],”<>Done”) counts everything not finished, ignoring blanks because the table only contains real rows.
Overdue count. =COUNTIFS(Tasks[Status],”<>Done”,Tasks[Due],”<“&TODAY()) compares against today’s date through string concatenation, which is how COUNTIFS accepts a dynamic criterion. This is the single most useful number in the whole file.
A warning on volatile functions. TODAY() recalculates on every edit, and a sheet with thousands of them can feel sluggish. For a 200-row task list this is irrelevant. For a 5,000-row log, replace the formulas with values at month end.
> Important note: formatted dates may look like dates while being stored as text. If G2-TODAY() returns an error, check that the cell is a real date (right-aligned by default in Excel) and not a string typed with a leading apostrophe.
How do you set up conditional formatting that actually helps?
Use three rules and one optional fourth. Go to Home > Conditional Formatting > New Rule > Use a formula to determine which cells to format, apply to $A$2:$M$200, and enter the formulas below.
| Rule | Formula | Format | What it tells you |
|---|---|---|---|
| Overdue | =AND($G2<>””,$G2<TODAY(),$F2<>”Done”) | Light red fill, dark red text | Needs a decision today |
| Due soon | =AND($G2<>””,$G2-TODAY()<=3,$G2>=TODAY(),$F2<>”Done”) | Amber fill | Do not start something else |
| Done | =$F2=”Done” | Grey text, strikethrough | Completed, kept for the record |
| Stale (optional) | =AND($M2<>””,TODAY()-$M2>14,$F2<>”Done”) | Blue left border | Nobody has touched this in two weeks |
Two details make or break this. The row reference must be relative ($G2, not $G$2) so the rule moves down the table while the column stays locked. And the order matters: put Done above Overdue in the rule list, then tick “Stop If True”, or a completed task that finished late will still glow red.
The stale rule is the one people underestimate. Overdue tasks are visible and embarrassing, so they get handled. Stale tasks look fine because their due date is in the future, while in reality nobody has looked at them since the kickoff. A blue left border after 14 days of silence surfaces them before the due date does.
Worked example: a 47-task list for a five-person team
A marketing team of five keeps a shared Excel list. On a Monday morning it contains 47 open tasks, 12 completed tasks from last week, and 18 items already past their due date.
| Metric | Formula | Result |
|---|---|---|
| Open tasks | =COUNTIFS(Tasks[Status],”<>Done”) | 47 |
| Overdue | =COUNTIFS(Tasks[Status],”<>Done”,Tasks[Due],”<“&TODAY()) | 18 |
| Due in the next 7 days | =COUNTIFS(Tasks[Status],”<>Done”,Tasks[Due],”>=”&TODAY(),Tasks[Due],”<=”&TODAY()+7) | 9 |
| Completion rate last week | =COUNTIF(Tasks[Status],”Done”)/COUNTA(Tasks[Task]) | 12 of 59 = 20% |
| Overdue share | Overdue divided by open | 18 divided by 47 = 38% |
A 38% overdue share is not a discipline problem; it is a capacity problem. Committed effort is 138 hours for the week against 150 available hours (5 people x 6 productive hours x 5 days), which is 92% utilisation before any unplanned work. Anything above roughly 85% leaves no room for the interruptions that always arrive, so the list is mathematically guaranteed to slip.
The fix is visible in the same file. Filter by owner, sum the estimate column, and compare with available hours. Two people were at 41 and 38 hours, one at 22, and two at 18. Rebalancing 16 hours from the overloaded pair to the underloaded pair drops the top of the range to 33 and brings utilisation to a workable 88%. The template did not manage anything; it made the imbalance impossible to ignore.
Second example, estimate accuracy. The team estimated 92 hours of work and logged 118, a 28% underestimate. That is a calibration fact, not a moral failing. Add a 25% buffer for the next month, then re-measure. If the gap narrows to 10%, the buffer did its job and the estimating improved.
Third example, time cost. Twelve people spending six minutes a day updating a list burn 276 hours a year (12 x 6 x 230 working days). Cutting that to 3.5 minutes with dropdowns and formulas saves about 115 hours, or roughly $6,900 at a $60 loaded rate. That is the return on ten minutes of template building.
How do you share the template without version chaos?
Put the file in one place, give edit rights to as few people as possible, and make one person responsible for the structure. Most broken task spreadsheets fail socially before they fail technically.
Three rules keep a shared list usable. Keep the workbook in a co-authoring location rather than email attachments, so there is one canonical copy. Restrict structural edits (adding columns, changing formulas) to one owner, because a renamed column breaks every structured reference in the file. And require that every row has an owner in column D, since an unowned row is nobody’s job and will be edited by everyone.
If two people genuinely need different views, do not duplicate the file. Use a filter or a pivot table on the same data. Duplicated files diverge within a week, and the moment two lists disagree, the team stops trusting both.
How do you handle recurring tasks and subtasks?
Recurring tasks belong on a second sheet with a start date and a frequency, not copied into the main list 52 times. Subtasks belong in the main list with a parent ID.
For recurrence, add columns for frequency in days and next due, then use =Start+Frequency and refresh weekly. If you need real calendar awareness, generate the next occurrence with =WORKDAY(Start,7) for a weekly task and paste the result as a value during the Monday review.
For subtasks, add a Parent ID column and indent the task name with a prefix such as 1.2. Then roll progress up with =AVERAGEIF(Tasks[Parent],1,Tasks[Percent]), which gives the parent a completion percentage without any manual arithmetic. Keep nesting to two levels; three levels in a spreadsheet is a sign the work needs a proper project tool.
What are the real limits of an Excel to-do list?
Excel is fast, free, universally understood and completely under your control. It is also a file, and files have failure modes.
No notifications. Nothing reminds anyone. The list only works if people open it, which means the weekly review is not optional.
Version conflicts. Two people editing a shared drive copy will eventually overwrite each other. Co-authoring in Microsoft 365 reduces this but does not eliminate conflicting edits to the same row.
No dependencies. Excel cannot tell you that task 12 is blocked by task 9 unless you build the logic yourself, and that logic is fragile.
Weak mobile capture. Adding a task from a phone in a meeting is clunky compared with a quick-add button in a task app.
No audit trail. You see the current state, not who changed what and when.
Manual archiving. Completed rows accumulate and eventually slow the file and clutter the view. Move them to an archive sheet monthly.
None of these are reasons to abandon Excel. They are reasons to know when the list has outgrown the tool. If more than three people edit daily, if tasks have dependencies, or if work arrives through email and chat, the spreadsheet becomes a reporting artefact rather than a working system.
That is the point where a workspace replaces the file. Doitify, which is our product, keeps tasks, sub-tasks, checklists, owners and due dates in one place, with board and calendar views and reminders that fire without anyone opening a spreadsheet. The trade-off is real: a spreadsheet is faster to start and easier to customise, and for a solo operator or a team of three it is often the better answer. Move when coordination cost exceeds setup cost, not before.
How should you review the list each week?
Twenty minutes, same time every week, four questions. The ritual matters more than the template.
- What is overdue, and is it still real? Delete, reschedule or split. An overdue task that survives three reviews should be deleted; it is either unimportant or badly defined.
- What is due in the next seven days? Check the estimate total against available hours. If committed effort exceeds 85% of capacity, cut scope now rather than discovering it on Thursday.
- What has not been touched in 14 days? The stale rule surfaces these. Either schedule them or remove them.
- What did we finish, and what did it cost? Compare logged hours with estimates. This is where the 28% underestimate becomes visible and fixable.
Write the answers in a dated note, not in your head. The note is the only defence against re-litigating the same priorities every Monday.
What mistakes make an Excel to-do list useless?
Adding every column you can think of. If a field is not used to filter, sort or calculate, delete it. Data entry is a tax on the person doing the work.
Leaving due dates blank. A task without a date cannot be overdue, so it never gets attention. Give every task a date or move it to a “someday” section.
Priority inflation. When everything is priority 1, the column carries no information. Force a distribution: no more than 20% of open tasks at priority 1.
Mixing personal and project work. Different review rhythms and different audiences. Keep them on separate sheets and link only the summary numbers.
No archive. A 900-row list is slow, ugly and psychologically heavy. Archive completed rows monthly.
Treating the list as a plan. A list is a queue, not a schedule. If the estimate total exceeds capacity, the list is lying to you regardless of how tidy it looks.
FAQ
Conclusion
A good to-do list template is not a prettier list. It is a small decision engine: dates that calculate, statuses that filter, colours that flag, and a summary that tells you whether the week is physically possible. The 13 columns, five formulas and three formatting rules in this guide give you that with no add-ins and no subscription.
Build it once, save a clean copy, and protect the ten minutes a day it costs you. Then review it weekly with the estimate total visible, because the difference between a useful list and a guilty one is whether it knows how many hours you actually have.
If this post on to-do list template for Excel was helpful, you might also enjoy Free Communication Plan Template and Free Project Schedule Template.
Join Doitify Today
Move projects forward without the chaos: all your tasks, progress, and team reports in one unified workspace. Built for companies, startups, and remote teams — with a quick setup and a free trial.