What should a to-do list template for Google Sheets include?
It should include only the fields that change a decision. Every column you add is a field someone has to fill, and unfilled fields are how task lists die. Six columns are enough for most individuals and small teams.
| Column | What goes in it | Why it earns its place | Example |
|---|---|---|---|
| A: Task | A verb and a specific object | Vague tasks get postponed because nobody knows what done means | Send revised quote to Halden Studio |
| B: Owner | One name, not two | Shared lists fail when everyone assumes someone else has it | Mina |
| C: Priority | High, Medium, or Low | Forces a decision before the week starts | High |
| D: Status | To do, In progress, Blocked, Done | Makes progress countable and automation possible | In progress |
| E: Due date | A real date, not the word Friday | Enables overdue logic and sorting | 2026-11-18 |
| F: Notes | A link or one line of context | Keeps the list from turning into a document | Quote v3 in Drive |
Two design choices matter more than they look. First, keep one owner per row. A task with two owners has none. Second, use a status list with a fixed set of values and enforce it with a dropdown. Free text in a status column makes every formula unreliable, because Done, done, and completed become three different states.
If you need estimates, add a seventh column called Hours and stop there. A personal list with ten columns takes longer to maintain than the work it describes.
How do you build the template in 20 minutes?
Start with a blank sheet and work in this order. Each step takes a few minutes, and the list is usable after step three.
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.
Step 1: Set up the header and freeze it
Type the six headers in row 1. Bold them, add a background fill, then choose View, Freeze, 1 row. Freezing matters more than it sounds: once you have 60 tasks, a list where the headers scroll away becomes unreadable.
Step 2: Add the status dropdown
Select D2 down to D200, open Data, Data validation, and add a dropdown with four values: To do, In progress, Blocked, Done. Set the invalid-data option to Reject the input. This single step is what makes COUNTIF trustworthy.
Do the same for Priority in column C with High, Medium, Low. Keep the lists short. A five-level priority scale is a way of avoiding the decision.
Step 3: Format the date column
Select E2:E200, then Format, Number, Date. Use a format with the year, such as 18 Nov 2026. A date without a year is ambiguous in December and useless in January.
Step 4: Build the summary block
Put four small tiles above the table, in G1 to J2, or on a separate tab if you prefer. Label them Done, Open, Overdue, and Completion. The formulas are in the next section. This block is the part you look at first each morning.
Step 5: Add conditional formatting
Select A2:F200 and create three rules, described in detail below. Test them by adding a task with yesterday’s date and an open status. If the row does not turn red, the rule reference is wrong, usually because the dollar signs are missing.
Step 6: Add a filter and protect the header
Select the header row, choose Data, Create a filter. Now you can view only Mina’s tasks or only High priority ones without copying data. Finally, right-click row 1 and protect the range so a stray sort does not destroy the structure.
Which formulas make the list actually work?
Four formulas and one flag cover almost every need. Paste them into the summary block and change the row range if your list is longer than 200 rows.
| Purpose | Formula | What it returns |
|---|---|---|
| Completed tasks | =COUNTIF($D$2:$D$200,”Done”) | A count of rows marked Done |
| Open tasks | =COUNTIFS($D$2:$D$200,”<>Done”,$A$2:$A$200,”<>”) | Everything not finished, ignoring blank rows |
| Overdue open tasks | =COUNTIFS($E$2:$E$200,”<“&TODAY(),$D$2:$D$200,”<>Done”,$A$2:$A$200,”<>”) | Open work whose date has passed |
| Completion rate | =IFERROR(COUNTIF($D$2:$D$200,”Done”)/COUNTA($A$2:$A$200),0) | A 0 to 1 ratio you format as a percentage |
| Due flag per row | =IF($A2=””,””,IF($D2=”Done”,”Closed”,IF($E2<TODAY(),”Overdue”,IF($E2-TODAY()<=3,”Due soon”,”On track”)))) | A four-state label for each task |
| Due in the next 7 days | =COUNTIFS($E$2:$E$200,”>=”&TODAY(),$E$2:$E$200,”<=”&TODAY()+7,$D$2:$D$200,”<>Done”) | Your short-term workload |
A few details make the difference between a formula that works and one that breaks quietly.
- The empty-string criterion. In COUNTIFS, “” means blank. Combined with the not-equal operator, it excludes empty rows so your open count does not include row 200 forever.
- TODAY() is volatile. It recalculates whenever the sheet recalculates, which is what you want for a daily list. It also means a saved copy from last month will show the correct historical dates only if you replace the formula with a static date.
- Dates are numbers. E2 minus TODAY() returns a number of days, which is why the due-flag formula can compare it to 3. If your dates are stored as text, the subtraction returns an error, and the flag will not work.
- IFERROR is not cosmetic. Early in the month, before any task exists, the completion formula divides by zero. Wrapping it in IFERROR keeps the tile clean.
If you want the flag in its own column, put it in G2 and copy it down. Otherwise, keep the table at six columns and use the flag only in the summary.
How do you set up conditional formatting for due dates?
Select the range A2:F200, open Format, Conditional formatting, and choose Custom formula is. The formula you enter is evaluated relative to the top-left cell of the selection, so write it for row 2 and let Sheets shift the rest.
Rule 1, overdue: =AND($A2<>””,$E2<TODAY(),$D2<>”Done”) with a light red fill and dark red text.
Rule 2, due within three days: =AND($A2<>””,$D2<>”Done”,$E2-TODAY()>=0,$E2-TODAY()<=3) with an amber fill.
Rule 3, completed: =$D2=”Done” with grey text and a strikethrough. This is the rule that keeps the red honest, because finished work should never look late.
The dollar signs are doing real work. $A2 locks the column and lets the row move, and $E2 does the same for the date column, so every row is tested against its own values. A common failure is writing =$E$2<TODAY(), which compares every row to one cell and colors the entire table.
Order the rules so the most urgent one is first. In practice, overdue red should win over due-soon amber, and completed grey should be evaluated last. Then test with three sample tasks: one dated yesterday and open, one dated tomorrow, and one dated yesterday but marked Done. Only the first should be red.
What does a real week look like with this template?
A five-person design studio starts Monday with 34 tasks in the sheet. By Thursday morning, 21 are Done, 6 are In progress, and 7 are still To do. The completion tile reads 62%, because 21 divided by 34 is 0.618.
The overdue tile reads 4. That is 11.8% of the list, and those four tasks belong to two people. Without the flag, the Monday meeting would have reviewed all 34 rows; with it, the conversation starts with the four that are actually late.
The capacity check is the second number worth calculating. The studio has five people with roughly 6 productive hours each, so 30 hours per day. The remaining 13 tasks are estimated at 41 hours in total. That is 1.4 working days of capacity for a deadline that is two days away, which means the team either drops two low-priority tasks or accepts a late delivery. The spreadsheet did not make the decision, but it made the trade-off visible in under a minute.
The time saving is smaller than vendors claim but still real. If the weekly status meeting drops from 45 minutes to 20, the team saves 25 minutes per person per week. Across five people that is 125 minutes, or about 8.3 hours per month at 4.33 weeks. That is roughly one extra working day per month spent on work instead of reporting on work.
How do you stop the list from becoming a graveyard?
A to-do list fails when it becomes a museum of intentions. Three habits prevent that.
First, review it for 15 minutes at the end of each week. Anything that has been To do for three weeks is not a task; it is a decision you are avoiding. Either schedule it with a date, delegate it, or delete it.
Second, cap work in progress. Allow each person no more than three In progress items. A list with 14 items in progress is a list where nothing is moving, and the status column stops meaning anything.
Third, archive instead of deleting. Create an Archive tab, and once a month move every Done row older than 30 days into it. You keep the history, and the working tab stays fast and readable.
One more habit helps on shared lists: a two-minute Monday triage. Sort by due date, check the overdue tile, and confirm that every High priority task has a name next to it. Unassigned High tasks are the most common cause of a missed deadline in a small team.
What are the limits of a spreadsheet template?
A spreadsheet is excellent at visibility and terrible at enforcement. It will show you what is late, but it will not remind anyone, update a status automatically, or stop two people from editing the same cell.
| Strength | Limitation | Who feels it most |
|---|---|---|
| Free, familiar, and instantly editable | No automatic reminders or notifications | People who work from a phone |
| Formulas and pivot tables for reporting | Manual status updates go stale within days | Teams with more than four daily users |
| Easy import and export | No dependencies between tasks | Projects with sequential handoffs |
| Full control over layout | No audit trail beyond version history | Regulated or client-facing work |
| Works offline in the mobile app | Sharing a link is not the same as permissions | Teams with contractors and clients |
The trade-off is honest: you are buying simplicity with manual discipline. For one person and 40 tasks, that is a good trade. For a team of eight running a client project with dependencies, approvals, and recurring work, the manual discipline becomes a part-time job.
When should you move off Sheets?
Move when you notice three signals: more than three people edit the list daily, tasks start depending on other tasks, or someone asks for a reminder that is not an email you send manually. At that point the spreadsheet is no longer the cheapest option, because the hidden cost is the hour a week spent reconciling it.
Doitify is our product, so read this part with that in mind. It covers the same job as the template, but with the parts a spreadsheet cannot do: tasks and sub-tasks with owners and due dates, checklists, dependencies, recurring tasks, reminders, Kanban and Gantt views, and reports that update as work changes. There is also a free board with up to five members and basic resources, which is enough to test whether the structure fits before moving a team. It is more software than a personal grocery list needs, and we would not pretend otherwise.
What are the most common template mistakes?
- Using a status column with free text. It feels flexible and breaks every count. Use a dropdown.
- Storing dates as text. “Next Friday” cannot be compared to today. Store a date value.
- Coloring entire rows green when done. Green rows still compete for attention. Use grey and a strikethrough.
- Adding a project column before you need it. One list with a filter beats five tabs that nobody updates.
- Letting the list grow past one screen. If you cannot see the top 20 items without scrolling, the priorities are not real.
- Skipping the weekly review. A list that is never reviewed is a log, not a plan.
FAQ
Conclusion
A to-do list template for Google Sheets does not need to be clever. It needs six columns, a status dropdown, a due-date formula that compares to today, and a review habit that keeps the list honest. Build that much, and you will know every morning what is late and who owns it.
Start with the layout, add the four summary formulas, then create the three conditional formatting rules. If the list is still working for you after a month, keep it. If you are spending more time maintaining the sheet than doing the tasks, that is the signal to move the same structure into a tool that handles reminders, dependencies, and reporting for you.
If this post on to-do list template for Google Sheets was helpful, you might also enjoy Critical Path vs Critical Chain: What’s the Difference? and Project Management Software for Universities: 2026 Guide.
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.