HomeGoogle DocsSpreadsheetMark Tasks as Complete When All Subtasks Are Finished in Google Sheets

Mark Tasks as Complete When All Subtasks Are Finished in Google Sheets

In this tutorial, you’ll learn how to mark tasks as complete when all subtasks are finished in Google Sheets — automatically. This is especially useful for project tracking, where each main task (or parent task) includes multiple subtasks with different statuses like Completed, Pending, or Under Progress.

We’ll walk through a practical example using formulas that dynamically update the task status based on its subtasks. By the end, you’ll have a system that marks a task as ✅ Completed only when all its subtasks are finished — no manual tracking required.

Sample Data

Our sample dataset includes:

  • Column A: Task
  • Column B: Subtask
  • Column C: Status

Here’s how it looks:

TaskSubtaskStatus
Task #: 1: Cable LayingExcavationCompleted
Task #: 1: Cable LayingStructural WorksCompleted
Task #: 1: Cable LayingCable LayingCompleted
Task #: 1: Cable LayingCable JointingCompleted
Task #: 1: Cable LayingEnd TerminationCompleted
Task #: 1: Cable LayingBackfillingCompleted
Task #: 2: Panel ErectionInstallationCompleted
Task #: 2: Panel ErectionInternal WiringUnder Progress
Task #: 2: Panel ErectionTesting & CommissioningPending

We have two tasks:

  • Task #: 1: Cable Laying with 6 subtasks – all marked as Completed
  • Task #: 2: Panel Erection with 3 subtasks – not all are completed

So, the expected result is:

TaskStatus
Task #: 1: Cable Laying
Task #: 2: Panel Erection

Let’s create a formula to mark each task as complete when all its subtasks are finished.

Formula to Mark a Task as Complete When All Subtasks Are Finished

Here’s the formula that generates the task list along with a dynamic status column:

=ArrayFormula(
   LET(
      uq_tasks, TOCOL(UNIQUE(A2:A), 1), 
      completion, COUNTIF(A2:A, uq_tasks) = COUNTIFS(A2:A, uq_tasks, C2:C, "Completed"), 
      HSTACK(uq_tasks, completion)
   )
)

This will return a two-column array: one with unique tasks, and another showing TRUE (if all subtasks are complete) or FALSE (if not).

To make it visual:

  • Select the result column (with TRUE/FALSE)
  • Go to Insert > Tick box to format them as tick boxes.

Update Formula for Your Dataset

Make sure to adjust the ranges in the formula according to your data layout:

  • A2:A: Your Task column
  • C2:C: Your Status column

Formula Breakdown

Let’s break down how the formula works:

  • TOCOL(UNIQUE(A2:A), 1)
    Extracts a vertical list of unique parent tasks, excluding blanks.
  • COUNTIF(A2:A, uq_tasks)
    Counts how many times each task appears (i.e., number of subtasks).
  • COUNTIFS(A2:A, uq_tasks, C2:C, "Completed")
    Counts how many subtasks are marked “Completed” for each task.
  • We then compare the two counts.
    If all subtasks are completed, the result is TRUE; otherwise, it’s FALSE.
  • HSTACK(uq_tasks, completion)
    Combines the task list with the corresponding completion status into a two-column array.

That’s how you can mark tasks as complete when all subtasks are finished in Google Sheets — automatically and dynamically.

Resources

Want to expand your task management system? Check out these related tutorials:

Prashanth K V
Prashanth K V
Your Trusted Google Sheets and Excel Expert Prashanth K V is a Diamond Product Expert in Google Sheets, officially recognized by Google for his contributions to the Docs Editors Help Community and featured in the Google Product Experts Directory. Explore his blog to learn advanced formulas, automation tips, and problem-solving techniques to elevate your spreadsheet skills.

Editor's Choice

Consolidate Data in Google Sheets (Even When Columns Don’t Match)

Consolidating data from multiple sheets is a common task...

Google Sheets Joins with Duplicate IDs (Left, Right, Inner & Full)

You can use Left, Right, Inner, and Full Joins...

40+ Free Google Sheets Templates (Premium & Fully Automated)

Looking for premium Google Sheets templates for free? You’re...

More like this

Google Sheets Document Expiry Tracker Template (Free Download)

Missing your visa renewal, vehicle insurance renewal, emission certificate expiry, domain renewal, or scheduled...

Google Sheets Habit Tracker Template (Free & Automated)

Want to monitor your habits and track your progress over a month or across...

How to Sort a Pivot Table by Value in Google Sheets

Google Sheets lets you sort Pivot Tables by row fields, column fields, or summarized...

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.