Skip to main content

πŸ“Š Lesson 7.2: Project β€” A Task Tracker with a Mini-Dashboard

In the last project you built a tracker that calculates. In this one you'll build one that communicates. We'll create a task list that anyone could run a small team or a busy life from β€” tasks with owners, due dates, status and priority β€” then teach it to flag overdue work by itself, summarize the whole picture with COUNTIFS and a PivotTable, and finally assemble a small dashboard with charts and sparklines. This is where the course model tips into its last two stages: Analysis β†’ Visualization β†’ Dashboard. The dashboard mindset you build here is exactly what the capstone asks for.

πŸ“š What You'll Learn

By the end of this lesson, you will be able to:

  • Build a task Table (Task, Owner, Due Date, Status, Priority) with dropdowns for Status and Priority
  • Detect overdue and due-soon tasks automatically with IF and TODAY
  • Highlight status and deadlines with conditional formatting
  • Summarize tasks by status and count overdue items with COUNTIFS, and summarize by owner with a PivotTable
  • Add charts and sparklines and assemble a mini-dashboard of the key numbers and visuals

⏱️ Estimated Time: 60 minutes

🎯 Project: A finished Task Tracker workbook with a task Table, dropdowns, overdue logic, COUNTIFS summaries, a PivotTable by owner/status, charts and sparklines, and a small dashboard panel.

In This Lesson

What a Dashboard Really Is

A dashboard is not a fancy chart or a colorful sheet. It's an answer to a question, delivered in the time it takes to glance. A car's dashboard doesn't show you the engine β€” it shows you speed, fuel, and warning lights, because those are the things you need to decide what to do next. A good spreadsheet dashboard is the same: it hides the raw rows and surfaces the handful of numbers and pictures that let someone act. For a task tracker, the questions are obvious β€” How many tasks are left? How many are overdue? Who's overloaded? Are we on track?

Here's the key insight that separates a dashboard from a data dump: a dashboard reads from your data, it doesn't contain it. You keep one tidy task Table as the single source of truth, and the dashboard is a collection of formulas, a PivotTable, and charts that all point back at that table. Change a task's status and every dashboard number and chart updates itself β€” because none of them hold a copy of the data, they just summarize it live. That's the whole idea, and it's exactly the pattern the capstone will scale up.

graph TD A["🧾 Task Table
the single source of truth"] --> B["🚦 Overdue logic
IF and TODAY"] A --> C["πŸ”’ COUNTIFS summaries
by status and priority"] A --> D["πŸ“ PivotTable
owner by status"] C --> E["πŸ“Š Mini-dashboard
numbers, charts, sparklines"] D --> E B --> E

Notice every arrow points from the task Table outward. That one-way flow β€” data in one place, summaries and visuals reading from it β€” is the design principle behind every dashboard you'll ever build. Get it right here on a small scale and the capstone in Lesson 8.3 is just "more of the same, wired to a control cell."

🧠 Mindset

As you build, keep asking "what decision does this help someone make?" If a number or chart doesn't help a real decision, it doesn't belong on the dashboard β€” it's clutter. The discipline of a great dashboard is subtraction: show the few things that matter, and let the full table live one click away for when someone wants the detail.

Step 1 β€” The Task Table with Dropdowns

Open a new workbook and make two worksheets: Tasks and Dashboard. On the Tasks sheet, set up the columns and enter this starter data beginning at A1. Today's date for this example is assumed to be around 2026-09-15, so some tasks are past due on purpose β€” that's what makes the overdue logic worth building:

Tasks sheet
      A                          B         C            D             E
1   Task                       Owner     Due Date     Status        Priority
2   Draft Q3 report            Ana       2026-09-10   In Progress   High
3   Book venue for offsite     Ben       2026-09-12   Not Started   Medium
4   Fix login bug              Carla     2026-09-14   In Progress   High
5   Update onboarding docs     Ben       2026-09-20   Not Started   Low
6   Review budget numbers      Ana       2026-09-16   Not Started   High
7   Ship newsletter            Carla     2026-09-08   Done          Medium
8   Prepare demo               Ben       2026-09-18   In Progress   High
9   Archive old files          Ana       2026-09-30   Not Started   Low
10  Renew SSL certificate      Carla     2026-09-13   Not Started   High
11  Plan team lunch            Ben       2026-09-25   Not Started   Low

Convert the range to a Table with Ctrl+T and name it tblTasks on the Table Design tab. Make sure Due Date is formatted as a real date, not text β€” the overdue logic depends on Excel treating those values as dates it can compare against today.

Add the Status and Priority dropdowns

Just like the budget tracker, consistency matters: "Done," "Done " (with a trailing space), and "Complete" would each be counted separately by COUNTIFS (capitalization alone is forgiven β€” "done" still counts as "Done" β€” but stray spaces and synonyms are not). Lock the values down with data validation (Lesson 3.2). Because these lists are short and fixed, you can type the choices straight into the Source box β€” no separate list needed:

Select the Status column β–Έ Data β–Έ Data Validation β–Έ Allow: List
   Source:  Not Started,In Progress,Done

Select the Priority column β–Έ Data β–Έ Data Validation β–Έ Allow: List
   Source:  High,Medium,Low

Now Status and Priority can only be one of the allowed words, which means every summary you build on top will be accurate. This is the same "clean data first" principle from the budget project β€” a dashboard is only as trustworthy as the table it reads from, and dropdowns are the cheapest possible insurance against messy data.

πŸ’‘ Tip β€” a comma list vs a range

For a handful of stable options (statuses, priorities, yes/no), typing them into the Source box as High,Medium,Low is quick and self-contained. For a list that changes often β€” like the budget categories last lesson, or a growing list of owners β€” point the Source at a Table column or named range instead, so the dropdown updates when the list does. Choose based on how often the options change.

Step 2 β€” Overdue Logic with IF & TODAY

The single most useful thing a task tracker can do is tell you what's late without you checking dates by hand. TODAY() returns the current date and re-evaluates every day the file opens, so any formula built on it stays current forever. Add a calculated column to the Table β€” put the header Flag in column F and enter this in the first data row (Table structured references fill the whole column automatically):

Tasks sheet β€” Flag column (F)
F2  =IF([@Status]="Done", "Done",
        IF([@Due Date]<TODAY(), "OVERDUE",
           IF([@Due Date]<=TODAY()+3, "Due soon", "On track")))

Read it as a little decision tree, top to bottom: if the task is already Done, say so and stop. Otherwise, if its due date is before today, it's OVERDUE. Otherwise, if it's due within the next three days, it's "Due soon." Everything else is "On track." Nested IF works through the conditions in order and stops at the first one that's true β€” so order matters (we check Done first so a finished-but-late task doesn't scream OVERDUE).

You could write the same thing more readably with IFS (Lesson 4.3), which avoids the pile of closing parentheses:

F2 (same logic, IFS style β€” Microsoft 365 / web)
   =IFS([@Status]="Done", "Done",
        [@Due Date]<TODAY(), "OVERDUE",
        [@Due Date]<=TODAY()+3, "Due soon",
        TRUE, "On track")

⚠️ TODAY() changes β€” that's the point, and the catch

TODAY() recalculates to the real current date, so a task that's "Due soon" today may read "OVERDUE" next week even though nothing else changed. That's the intended behavior for a live tracker. Just be aware that a screenshot or a printout captures a moment in time β€” and if you ever want to freeze a date (like "date logged"), type it as a value rather than using TODAY(). IFS is a modern function; on older perpetual Excel use the nested IF version above.

Light it up with conditional formatting

Now make the flags impossible to miss. Select the Flag column and add conditional formatting rules based on the text:

When the flag says…FormatSo the eye reads…
OVERDUERed fill, bold dark-red textDeal with this now
Due soonAmber/yellow fillComing up β€” plan for it
On trackLight green fillFine, ignore for now
DoneGray text / strikethrough feelFinished, de-emphasize

Use Home β†’ Conditional Formatting β†’ Highlight Cells Rules β†’ Text that Contains for each word. You can also add a rule to the whole row: select the Table body, add a formula rule =$F2="OVERDUE", and give it a red fill so the entire row of an overdue task glows. Row-level formatting like that is a small touch that makes a tracker feel professional.

Step 3 β€” Summaries with COUNTIFS

Time to start the dashboard. Switch to the Dashboard sheet and build a small block of headline numbers using COUNTIFS β€” the counting cousin of SUMIFS. It counts rows that match one or more criteria. Enter these:

Dashboard sheet β€” status summary (starting A1)
      A                B
1   STATUS           Count
2   Not Started      =COUNTIFS(tblTasks[Status], "Not Started")
3   In Progress      =COUNTIFS(tblTasks[Status], "In Progress")
4   Done             =COUNTIFS(tblTasks[Status], "Done")
5   TOTAL            =COUNTA(tblTasks[Task])

Key numbers (starting A7)
      A                B
7   Overdue          =COUNTIFS(tblTasks[Flag], "OVERDUE")
8   Due soon         =COUNTIFS(tblTasks[Flag], "Due soon")
9   High priority    =COUNTIFS(tblTasks[Priority], "High")
10  Open & High     =COUNTIFS(tblTasks[Priority], "High", tblTasks[Status], "<>Done")

A couple of things worth noticing. COUNTA(tblTasks[Task]) counts non-empty task names for the total, which grows automatically as you add rows. And the last one β€” "<>Done" β€” uses the "not equal to" operator as a criterion, counting High-priority tasks that aren't finished. Combining criteria like that is where COUNTIFS earns its keep: "Open AND High" is precisely the number a manager cares about most.

These few cells are already a legitimate mini-dashboard: someone can glance at "4 overdue, 5 high-priority open" and know exactly where to look. Everything else we add β€” the PivotTable and charts β€” makes the same information easier to see, but the honest, decision-ready numbers come from these COUNTIFS formulas.

πŸ“– SUMIFS vs COUNTIFS β€” same shape, different job

You met SUMIFS in the budget project: it adds a number column for matching rows. COUNTIFS counts matching rows β€” no value column, just "how many." Both take pairs of (range, criterion) and both accept operators in the criterion (">0", "<>Done", ">="&A1). Learn one and you've learned the family.

Step 4 β€” A PivotTable by Owner & Status

COUNTIFS is perfect when you know exactly which questions you'll ask. But when you want to slice the data every which way β€” by owner, then by status, then re-arranged in seconds β€” a PivotTable (Lesson 5.1) is the right tool. It answers "who has how many of what?" without a single formula.

Click any cell in tblTasks, then Insert β†’ PivotTable. Place it on the Dashboard sheet (or a new sheet). In the PivotTable Fields pane, drag fields into these areas:

AreaFieldResult
RowsOwnerOne row per person
ColumnsStatusNot Started / In Progress / Done across the top
ValuesTask (Count of)How many tasks each owner has in each status

In a few clicks you get a grid showing exactly how the workload is distributed β€” who has the most open tasks, who's cleared their plate. Drag Priority into the Filters area and you can instantly narrow the whole pivot to just High-priority work. That fluid rearranging is the PivotTable's superpower: the same underlying table, reshaped to answer whatever question comes up next.

⚠️ PivotTables refresh β€” they don't auto-update

A PivotTable is a snapshot taken when you last refreshed it. Add or change tasks and the pivot won't move until you right-click it β†’ Refresh (or Data β†’ Refresh All). This trips up everyone once. PivotTables work on Excel for the web and desktop, though the desktop app has more layout and calculation options. On the web you can create and refresh them; some advanced pivot features are desktop-only β€” an honest gap worth remembering.

Step 5 β€” Charts, Sparklines & the Dashboard

Numbers tell; pictures show. Now turn your summaries into visuals and arrange everything into one tidy dashboard area. A picture isn't decoration here β€” a bar of "tasks per owner" reveals an overloaded teammate faster than any table.

Add a couple of charts

Charts (Lesson 5.2) read from a range, so point them at your summary blocks:

  • Status doughnut or bar: select the STATUS summary (A1:B4) and Insert β†’ Chart. A doughnut chart of Not Started / In Progress / Done gives an instant sense of overall progress.
  • Tasks per owner column chart: select your PivotTable (or a small owner-count block) and insert a clustered column chart. This is the "who's overloaded?" picture.

A chart built from a PivotTable is called a PivotChart and updates with the pivot when you refresh. Keep charts small and clean β€” a clear title, no chart-junk. On a dashboard, restraint reads as professionalism.

Add sparklines

Sparklines are tiny in-cell charts (Lesson 5.2) β€” perfect for a dashboard because they fit right next to a number. Suppose you keep a small block of "tasks completed per week":

Dashboard sheet β€” mini trend for a sparkline (starting D1)
      D          E    F    G    H    I
1   Completed   1    3    2    4    5

Select a cell (e.g. D2) β–Έ Insert β–Έ Sparklines β–Έ Line
   Data Range:  E1:I1
   β†’ a tiny trend line appears inside D2

One cell, one glanceable trend β€” "completions are climbing." Sparklines are fully supported in the desktop app; on the web, sparkline support has varied over time (as Lesson 5.2 noted), so if you don't see the option, add it on the desktop or skip it. A Line sparkline for trends and a Column sparkline for counts are the two you'll reach for most.

Assemble the dashboard area

Finally, arrange it. Put the headline numbers (Total, Overdue, High-priority open) in big, bold cells across the top β€” these are the warning lights. Place the status chart and the tasks-per-owner chart below them, the PivotTable to the side, and a sparkline next to a trend number. Give the area a title, hide gridlines (View β†’ Gridlines off) for a clean look, and you have a real mini-dashboard: one screen that answers "how's the work going?" at a glance, all of it reading live from tblTasks.

πŸ’‘ This is the capstone in miniature

What you just built β€” one source table, formula summaries, a PivotTable, charts, sparklines, and headline numbers, all arranged for a glance β€” is the shape of the capstone dashboard in Lesson 8.3. The capstone adds interactivity (a control cell that filters everything at once) and more polish, but the architecture is exactly this. Nail the mindset here and the capstone feels familiar.

🎯 Project: Build the Task Tracker

Build the whole tracker end to end using the starter data (or your own real tasks β€” even better). Work top to bottom and check each piece before moving on. Aim for a dashboard someone could actually run their week from.

πŸ‹οΈ Build your Task Tracker & mini-dashboard

Objective: A working task Table with dropdowns and overdue logic, COUNTIFS summaries, a PivotTable by owner/status, at least two charts, a sparkline, and an assembled dashboard area.

Instructions (about 45 minutes):

  1. (7 min) Create the workbook with Tasks and Dashboard sheets; enter the task data and convert it to tblTasks; format Due Date as a date.
  2. (6 min) Add Status and Priority dropdowns via Data Validation.
  3. (8 min) Add the Flag column with the IF/TODAY overdue logic, and apply conditional formatting (OVERDUE red, Due soon amber, On track green).
  4. (7 min) On the Dashboard, build the COUNTIFS status summary and the key numbers (Overdue, Due soon, High & open).
  5. (8 min) Insert a PivotTable with Owner in Rows, Status in Columns, Count of Task in Values.
  6. (9 min) Add a status chart and a tasks-per-owner chart, add one sparkline, and arrange everything into a clean dashboard area with headline numbers on top.
πŸ’‘ Hint β€” the core formulas in one place
-- Tasks: Ctrl+T --> name tblTasks
Status dropdown  β–Έ Source:  Not Started,In Progress,Done
Priority dropdown β–Έ Source: High,Medium,Low

Flag column (F2, fills down):
   =IF([@Status]="Done","Done",
       IF([@Due Date]<TODAY(),"OVERDUE",
          IF([@Due Date]<=TODAY()+3,"Due soon","On track")))

Dashboard COUNTIFS:
   Not Started   =COUNTIFS(tblTasks[Status],"Not Started")
   In Progress   =COUNTIFS(tblTasks[Status],"In Progress")
   Done          =COUNTIFS(tblTasks[Status],"Done")
   Total         =COUNTA(tblTasks[Task])
   Overdue       =COUNTIFS(tblTasks[Flag],"OVERDUE")
   Due soon      =COUNTIFS(tblTasks[Flag],"Due soon")
   High & open   =COUNTIFS(tblTasks[Priority],"High", tblTasks[Status],"<>Done")

PivotTable: Rows=Owner, Columns=Status, Values=Count of Task
Sparkline: Insert β–Έ Sparklines β–Έ Line, data = your weekly-completed row

If a COUNTIFS returns 0 when you expect more, check the Status/Priority text matches the dropdown exactly and that Due Date is a real date, not text. Remember to refresh the PivotTable after editing tasks.

βœ… Project Completion Checklist

  • A tblTasks Table with Status and Priority dropdowns
  • A Flag column that auto-labels OVERDUE / Due soon / On track / Done using TODAY()
  • Conditional formatting so overdue and due-soon tasks stand out
  • A COUNTIFS status summary plus overdue and High-&-open counts
  • A PivotTable of Owner by Status (Count of Task)
  • At least two charts, one sparkline, and everything arranged into a clean dashboard area with headline numbers

🎯 Quick Quiz

Question 1: Why does the Flag column check [@Status]="Done" before it checks whether the due date is in the past?

Question 2: You added three new tasks, but the PivotTable still shows the old counts. What's the most likely reason?

Best Practices for Dashboards

βœ… Do's

  • Keep one source table and make every summary, pivot, and chart read from it. Never keep a second copy of the data.
  • Put the warning lights on top. Overdue count and high-priority-open belong where the eye lands first.
  • Refresh PivotTables after editing data β€” or set them to refresh on open (desktop: PivotTable Options β†’ Refresh data when opening the file).
  • Use dropdowns for anything you'll count. Consistent Status/Priority text is what keeps COUNTIFS and the pivot honest.

❌ Don'ts

  • Don't crowd the dashboard. If a chart doesn't help a decision, cut it. Restraint is the skill.
  • Don't hard-code counts like "5 overdue" in a cell β€” it goes stale instantly. Always use COUNTIFS or the pivot.
  • Don't forget dates can be text. A Due Date typed as text won't compare against TODAY() β€” check the column is truly a date.

πŸ’‘ Pro Tips

  • Sort or filter the task Table by the Flag column to pull all OVERDUE items to the top in one click.
  • Add a Slicer to the PivotTable (Insert β†’ Slicer) for click-to-filter buttons by Owner or Priority β€” a taste of the interactivity the capstone builds on.
  • Name your headline cells (e.g. OverdueCount) so charts and text can reference them by meaningful names, not addresses.

πŸ““ Learning Journal

Keep a learning journal as you work through this course β€” a separate document, a note, or even a second worksheet right in the workbook you're building. 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 with your own data
  • Your progress and feelings about learning this β€” including where your confidence grew

✍️ This lesson's prompt: A dashboard is "the few things that help you decide." For a tracker in your own life β€” work tasks, chores, a project, study β€” what would your three headline numbers be? Sketch your ideal dashboard in words, then note which piece (COUNTIFS, PivotTable, chart, or sparkline) you'd reach for to show each one. Thinking in "decisions, not data" is the mindset that carries straight into the capstone.

πŸ“ Lesson Summary

πŸŽ“ Key Takeaways

  • A dashboard reads from one source table; it doesn't hold its own copy of the data. Change the table and everything updates β€” that one-way flow is the core design idea.
  • Dropdowns on Status and Priority keep the data consistent so COUNTIFS and the PivotTable count correctly.
  • IF with TODAY() makes tasks flag themselves as OVERDUE / Due soon / On track; order the conditions carefully (check Done first).
  • COUNTIFS answers fixed questions ("how many overdue, how many High & open"); a PivotTable answers flexible ones ("owner by status") and reshapes in seconds β€” but it must be refreshed.
  • Charts and sparklines turn those counts into a glanceable picture; arranging headline numbers on top yields a real mini-dashboard β€” the capstone in miniature.

πŸŽ‰ What You've Accomplished

You built a task tracker that flags its own overdue work, summarizes itself with formulas and a PivotTable, and shows the whole picture in charts and sparklines arranged as a dashboard. More importantly, you internalized the dashboard mindset: one source of truth, summaries that read from it, and a layout built around the decisions people actually make. That mindset is the through-line into the capstone.

❓ Common Questions at This Stage

My overdue count looks wrong β€” some past-due tasks aren't flagged. Why?

The usual cause is that the Due Date is stored as text rather than a real date, so [@Due Date]<TODAY() can't compare it. Select the column and check the number format; if a date shows left-aligned it's probably text. Re-enter it or use Data β†’ Text to Columns to convert. Also confirm the Status text exactly matches "Done" β€” a completed task with a typo'd status can slip through the logic.

Do PivotTables and charts work on free Excel for the web?

Yes. You can create and refresh PivotTables and insert charts on Excel for the web; sparkline support on the web has varied over time, so check your version (the desktop app always has them). Some advanced pivot options, calculated fields, and a few chart types are richer or desktop-only β€” we flag those as honest gaps β€” but everything in this project works on the free web version.

When should I use COUNTIFS instead of a PivotTable?

Use COUNTIFS for a fixed headline number you always want visible (like "Overdue: 3") β€” it lives in a cell, updates live, and can feed a chart or text. Use a PivotTable when you want to explore β€” slice by owner, then status, then priority, rearranging as questions come up. Most dashboards use both: COUNTIFS for the fixed warning lights, a pivot for the flexible breakdown.

πŸ”­ Looking Ahead

In the next lesson β€” Lesson 7.3: Project β€” A Data Cleanup & Analysis Workflow β€” we tackle the messy reality of real-world data. You'll start from an imported dataset full of inconsistent case, extra spaces, split names, and duplicates, clean it with TRIM, PROPER, TEXT, and Flash Fill (with Power Query as the repeatable option), then structure and analyze it with a PivotTable and dynamic arrays β€” the true analyst workflow of clean β†’ structure β†’ analyze β†’ conclude.

βœ… Before the Next Lesson

  • Finish your Task Tracker and confirm the dashboard updates when you change a task
  • Try adding an overdue task and a due-soon task, and watch the flags and counts react
  • Write your Learning Journal entry for this lesson

πŸ“š Additional Resources

🌟 Encouragement for the Journey

You just built something that talks back β€” a sheet that tells you what's late, who's busy, and how the work is going, all on its own. That's the leap from spreadsheet-user to dashboard-builder. One project stands between you and the capstone, and you're carrying the exact mindset it needs. Onward. πŸ“Š