Skip to main content

๐Ÿ“Š 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:

ColumnTypeNotes
TaskTextShort description
OwnerDropdownWho's responsible
StatusDropdownNot started / In progress / Done
PriorityDropdownLow / Medium / High
Due dateDateA real date for overdue math
DoneCheckboxA 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.

graph TD A["๐Ÿ“‹ Tasks table
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):

  1. (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).
  2. (6 min) On a Dashboard tab, build the count metrics: total, not started, in progress, done, high-priority-open (COUNTIF/COUNTIFS).
  3. (6 min) Add overdue (COUNTIFS(...,"<"&TODAY(),...,"<>Done")), % complete (wrapped in IFERROR), and due-this-week.
  4. (5 min) Make a 3-row status table and insert a chart from it.
  5. (5 min) Add conditional formatting on the Tasks tab: overdue rows red, high priority flagged, done rows grayed.
  6. (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. ๐Ÿ“Š