๐ Lesson 7.2: Project โ A Task Tracker with a Mini-Dashboard
Sticky notes get lost; group chats scroll away. A task tracker is where a project โ solo, family, or team โ actually stays on top of itself. In this build you'll create a tasks table and a live mini-dashboard that counts what's done, flags what's overdue, and shows progress at a glance, updating the instant anyone changes a task.
๐ What You'll Learn
By the end of this lesson, you will be able to:
- Design a tasks table with dropdowns, dates, and a Done checkbox
- Build dashboard metrics with COUNTIF and COUNTIFS
- Detect overdue tasks using
TODAY(), and compute % complete - Add a status chart and conditional formatting that flags trouble
- Add collaboration touches โ filter views per owner and protected metrics
โฑ๏ธ Estimated Time: 60 minutes
๐ฏ Project: A complete task tracker: a Tasks tab plus a Dashboard tab with counts by status, overdue detection, % complete, and a chart.
In This Lesson
Design the Tasks Table
Every good tracker starts with the right columns. Plan the table before you type โ it's the raw data everything else reads. A solid set of fields for a Tasks tab:
| Column | Type | Notes |
|---|---|---|
| Task | Text | Short description |
| Owner | Dropdown | Who's responsible |
| Status | Dropdown | Not started / In progress / Done |
| Priority | Dropdown | Low / Medium / High |
| Due date | Date | A real date for overdue math |
| Done | Checkbox | A quick TRUE/FALSE toggle |
Keep this table pristine and let the Dashboard tab do the analysis โ the "keep raw data raw" habit from Module 3. Freeze the header row so it stays visible as the list grows.
๐ง Mindset
A tracker earns its keep by making the state of things obvious without asking anyone. Every design choice here โ dropdowns for consistency, real dates for overdue math, a dashboard for the summary โ serves that one goal: open it and instantly know where things stand.
Status, Priority & the Done Checkbox
Consistency is what makes the dashboard work, so use data validation dropdowns (Lesson 3.2) for Status, Priority, and Owner. If someone types "in-progress", "In Progress", and "WIP" freely, your COUNTIF for "In progress" will miss rows. A dropdown forces one exact spelling every time.
For the Done column, insert a checkbox (Insert โ Checkbox). A checkbox is really a
TRUE/FALSE value with a friendly UI, which makes it perfect for counting and for
conditional formatting. Store your dropdown option lists on a Lists tab and point validation at those
ranges (or named ranges), so updating the choices is a one-place edit.
โ Pro Tip
Decide whether "Status = Done" and the Done checkbox mean the same thing, and pick one as the source of truth for your metrics. Mixing two "done" signals is a classic tracker bug. In this build we'll count completion from the Status column and use the checkbox mainly to gray out finished rows visually.
The Dashboard Metrics
On a Dashboard tab, build the numbers with the counting functions from Lesson 4.3. Assuming Status is in column C and Due date in column E on the Tasks tab:
Total tasks: =COUNTA(Tasks!A2:A)
Not started: =COUNTIF(Tasks!C2:C, "Not started")
In progress: =COUNTIF(Tasks!C2:C, "In progress")
Done: =COUNTIF(Tasks!C2:C, "Done")
High priority open: =COUNTIFS(Tasks!D2:D, "High", Tasks!C2:C, "<>Done")
Notice "<>Done" in the last one โ that's "not equal to Done", so it counts high-priority
tasks that still need work. These metrics recalculate instantly as tasks change, which is the whole point
of a live dashboard.
status ยท priority ยท due ยท done"] --> B["๐ข COUNTIF and COUNTIFS
totals by status"] A --> C["โฐ Overdue check
due date before today and not done"] B --> D["๐ Dashboard
metrics ยท percent ยท chart"] C --> D
Overdue & Percent Complete
Two of the most useful metrics need a little date logic.
Overdue
An overdue task is one whose due date is before today and that isn't Done. That's a two-condition
COUNTIFS, comparing the due-date column to TODAY():
Overdue: =COUNTIFS(Tasks!E2:E, "<"&TODAY(), Tasks!C2:C, "<>Done")
The trick is "<"&TODAY() โ you build the criterion by joining the "less than" operator
to today's date with &. Because it uses TODAY(), the overdue count is always
correct with zero maintenance.
Percent complete & due this week
% complete: =Done_count / Total_count (format the cell as a percent)
Due this week: =COUNTIFS(Tasks!E2:E, ">="&TODAY(), Tasks!E2:E, "<="&(TODAY()+7), Tasks!C2:C, "<>Done")
"Due this week" counts tasks due between today and seven days out that aren't done โ a gentle
look-ahead. Wrap any division in IFERROR so an empty tracker shows a clean 0% instead of a
#DIV/0!.
โ ๏ธ Watch Out
Overdue math only works if the Due date column holds real dates, not text that looks like
dates. If your overdue count seems wrong, check that the dates are right-aligned (real) and consider
building them with DATE() โ the date fundamentals from Lesson 2.3 apply directly here.
Visuals & Collaboration
A status chart
Put your three status counts (Not started / In progress / Done) in a little three-row table and insert a column or pie chart from it (Lesson 5.2). Now progress is visible in a glance, and the chart updates live as the counts change.
Conditional formatting
Bring the tracker to life with rules from Lesson 5.3, applied to the whole Tasks range:
Overdue rows red: =AND($E2<>"", $E2<TODAY(), $C2<>"Done")
High priority flag: =$D2="High"
Done rows grayed: =$F2=TRUE
The $E2<>"" test matters: in a custom formula a blank due date counts as zero โ
"earlier than today" โ so without it every empty row below your tasks would turn red.
Collaboration touches
Because a tracker is usually shared (Lesson 6.1), add the finishing touches: each teammate can make a Filter View for just their own tasks without disturbing others; use comments and @-mentions to assign or discuss a task; and protect the Dashboard formulas so a stray edit doesn't break the metrics while people still enter tasks freely.
๐ก The payoff
Put together, you've built something genuinely useful: a shared, self-updating command center for any project. This exact structure โ a clean data table plus a metrics-and-chart dashboard โ is the template for the capstone. You're rehearsing the finale.
๐ฏ Project: Build It End to End
Build the whole tracker now, in your own sheet. Follow the steps and you'll finish with a real tool.
๐๏ธ The full task tracker
Objective: A Tasks tab and a live Dashboard tab, complete with metrics, a chart, and formatting.
Instructions (about 30 minutes):
- (6 min) On a Tasks tab, create the columns (Task, Owner, Status, Priority, Due date, Done). Add dropdowns for Owner/Status/Priority (options on a Lists tab) and a checkbox for Done. Freeze the header. Enter ~10 sample tasks with varied statuses and dates (some past-due).
- (6 min) On a Dashboard tab, build the count metrics: total, not started, in progress, done, high-priority-open (COUNTIF/COUNTIFS).
- (6 min) Add overdue (
COUNTIFS(...,"<"&TODAY(),...,"<>Done")), % complete (wrapped in IFERROR), and due-this-week. - (5 min) Make a 3-row status table and insert a chart from it.
- (5 min) Add conditional formatting on the Tasks tab: overdue rows red, high priority flagged, done rows grayed.
- (2 min) Protect the Dashboard formulas and try making a Filter View for one owner.
๐ก Hint โ the key formulas
Done: =COUNTIF(Tasks!C2:C,"Done")
Overdue: =COUNTIFS(Tasks!E2:E,"<"&TODAY(),Tasks!C2:C,"<>Done")
% complete: =IFERROR(COUNTIF(Tasks!C2:C,"Done")/COUNTA(Tasks!A2:A),0)
Due this week: =COUNTIFS(Tasks!E2:E,">="&TODAY(),Tasks!E2:E,"<="&(TODAY()+7),Tasks!C2:C,"<>Done")
Overdue rows (conditional format, whole range):
=AND($E2<>"",$E2<TODAY(),$C2<>"Done")
โ Project Completion Checklist
- Tasks tab with dropdowns, a date column, and a Done checkbox
- Dashboard counts by status plus high-priority-open
- Overdue count using TODAY, and a % complete that never shows an error
- A status chart that updates live
- Conditional formatting flags overdue and high-priority rows; done rows grayed
- Dashboard formulas protected; a per-owner Filter View created
๐ฏ Quick Quiz
Question 1: Why use a dropdown for the Status column instead of free typing?
Question 2: In =COUNTIFS(Tasks!E2:E,"<"&TODAY(),Tasks!C2:C,"<>Done"), what does "<"&TODAY() do?
Best Practices for Trackers
โ Do's
- Use dropdowns for any column you'll count or filter by.
- Pick one "done" signal and be consistent.
- Base overdue on
TODAY()so it self-updates.
โ Don'ts
- Don't calculate on the raw Tasks tab โ keep metrics on the Dashboard.
- Don't let #DIV/0! show โ wrap percentages in IFERROR.
- Don't leave dates as text โ overdue math needs real dates.
๐ก Pro Tips
- A per-owner Filter View lets each teammate focus without disturbing the shared sort.
- Protect the Dashboard so data entry can't accidentally overwrite your metrics.
๐ Learning Journal
Keep a learning journal as you work through this course โ a document, a note, or a tab in your own spreadsheet. After each lesson, take a few minutes to write down:
- Key concepts you learned
- Techniques that clicked for you
- Questions or confusion points to revisit
- Ideas you want to try in your own sheets
- Your progress and feelings about learning this
โ๏ธ This lesson's prompt: What real project or set of responsibilities in your life could this tracker manage? Which metric would you check first each morning? Adapt the columns to fit and note the changes.
๐ Lesson Summary
๐ Key Takeaways
- A tracker = a clean Tasks table (dropdowns, dates, checkbox) plus a live Dashboard.
- COUNTIF/COUNTIFS build the metrics; dropdowns keep the data countable.
- Overdue uses
"<"&TODAY(); wrap % complete in IFERROR. - Finish with a live chart, conditional formatting, filter views, and protection.
๐ What You've Accomplished
You've built a second real, professional-grade tool โ one that any team would be glad to use. More importantly, you're seeing how the pieces from every module combine: validation, counting logic, dates, charts, formatting, and sharing all working together. That integration is spreadsheet mastery.
โ Common Questions at This Stage
Should completion come from the Status column or the checkbox?
Pick one as the source of truth to avoid conflicting counts. Here we count "Done" from Status and use the checkbox for visual gray-out โ but the reverse is fine as long as you're consistent.
My overdue count includes done tasks โ why?
You likely left out the second condition. Overdue should be due date before today and status
not Done: COUNTIFS(...,"<"&TODAY(),...,"<>Done").
Can several people update this at once?
Yes โ that's Sheets' strength. Share it (Lesson 6.1), let each owner use a Filter View, and protect the Dashboard so the metrics stay intact.
๐ญ Looking Ahead
Next โ Lesson 7.3: Project โ A Data Cleanup & Analysis Workflow โ the final project before the capstone. You'll take genuinely messy data and run a full clean-then-analyze workflow, combining your text tools with pivots and QUERY.
โ Before the Next Lesson
- Finish and keep your task tracker โ it's a portfolio piece
- Note which formulas you had to look up; those are worth a journal entry
- Write your Learning Journal entry for this lesson
๐ Additional Resources
๐ Encouragement for the Journey
Two real tools built, and the whole toolkit is clicking into place. A shared, self-updating tracker is the kind of thing that quietly makes you the most organized person in the room. One more project, then the grand finale. ๐