Documentation / Tracking progress / Understanding % Complete

Understanding % Complete

Gantt Excel gives you two independent controls for how the % Complete column behaves — one for ordinary tasks, one for summary tasks. They do different jobs, and you can mix and match them.

% Complete is the progress shading on the Gantt bar and the number in the % Complete column. Two settings decide where that number comes from: one governs how an ordinary task gets its own percentage, the other governs how a parent task adds its children’s percentages up. Neither changes your dates — % Complete records progress, it never reschedules anything.

01 The two settings, and where they live

SettingQuestion it answersOptions
Percentage EntryHow does a task’s own % get filled in?Automatic / Manual
Parent Tasks Average CalculationHow is a summary (parent) task’s % rolled up from its children?Simple / Weighted

You’ll find both together in Gantt ExcelSettingsSettings. Click through to the General tab, and they sit side by side in the section headed Percentage Complete. Each is a pair of option buttons, so you always have exactly one of each in force.

The General tab of the Settings window, showing the Percentage Complete section with its Percentage Entry and Parent Tasks Average Calculation groups.
Both % Complete settings sit together in the Percentage Complete section of the General tab.

02 Percentage Entry: Automatic or Manual

This decides how a normal task — one with no sub-tasks under it — gets its % Complete. It has no bearing on parent tasks: a parent is always rolled up from its children, whichever entry mode you pick.

MANUAL

“Who says how far along we are?”

You type the number in yourself, into the % Complete cell or the field on the Task Form. Gantt Excel never recalculates it behind your back — the only things that change it are your own edits, the Done tick and a parent push-down.

Use this when progress is reported by the people doing the work — “we’re about 40% done” — rather than inferred from the calendar. It is the mode to pick whenever real progress runs ahead of, or behind, the plan.

The Task Form’s percentage field is a list of whole numbers from 0 to 100, so on the form you set progress in whole percent.

AUTOMATIC

“Can the calendar work it out for me?”

Gantt Excel fills the percentage in for you from the task’s Estimated dates and how much of that schedule has already gone by. You don’t type anything.

Because the figure is derived, it is also protected: try to set progress by hand and Gantt Excel tells you Percentage Complete calculation is set to Automatic. You can turn this off in the Settings window. The row is then recalculated straight back from its dates, so the figure you typed doesn’t survive the keystroke.

What lands in the column is a stored value, not a live formula. It does not creep along on its own while the file is shut — reopen a plan a fortnight later and it shows exactly what it showed when you saved it, until something recalculates it.

03 How Automatic works

Automatic measures how much of the task’s working time has already passed:

% Complete  =  working time already elapsed  ÷  total working time for the task

Both halves are counted on a working calendar, so weekends, non-working days and holidays are skipped and never counted. Which calendar depends on the task’s Resource. A task with one named resource is measured on that resource’s own calendar. A task with no resource at all is measured on the project’s Organization calendar — and so is a task with several resources, unless the project has been set to schedule multi-resource tasks on the first assignee’s calendar.

That last point is worth pausing on, because most plans carry at least a few tasks nobody has been assigned to yet: those tasks are following the Organization calendar, not a person’s. If their percentages look out of step with the rest, check the Organization working week and holidays first — see Resources, calendars & working days.

The dates it reads are the Estimated Start Date and Estimated End Date — baseline and actual dates play no part. The rules in plain English:

  • The task hasn’t started yet0%
  • The task’s end date has already passed100%
  • The task is in progress → the proportion of working time that has gone by
  • The task has no valid estimated dates0%, because there is no span to measure

Worked example — Automatic on a daily chart

“Plaster the walls” runs Mon 1 JuneFri 12 June: 10 working days, with the weekend skipped. Today is Mon 8 June.

  • Working days from the start up to yesterday: Mon 1 – Fri 5 = 5 days
  • Total working days: 10 days
  • % Complete = 5 ÷ 10 = 50%

Counting to yesterday rather than to today is deliberate: today’s work hasn’t happened yet when you look at the chart in the morning. A task that starts today therefore reads 0%, not a part-day.

Hourly charts also put a floor under the shading, though not under the number. The shaded part of the bar is never shorter than one planning increment — the snap size set for the project, 15 minutes on a new hourly chart and 60 on an older one that carries no increment setting — and never longer than the task’s own working time. So a task that started ten minutes ago paints one whole increment of progress while the column still reads a fraction of a percent. That is deliberate: an increment is the smallest amount of progress the grid can draw, and a task that has genuinely started but looks completely untouched reads as a fault.

A ten-day task running Wed 12 August to Tue 25 August on a daily chart in Automatic mode. The % Complete column reads 50%, and the today line falls halfway along the bar, where the shaded part of the bar ends.
Automatic % tracks how much of the schedule has elapsed: five working days counted up to yesterday, out of ten.

04 Parent tasks: Simple or Weighted

A parent (summary) task doesn’t have progress of its own — its % is rolled up from the tasks underneath it. Type into a parent’s % Complete cell and Gantt Excel tells you This is a parent task. Percent Complete is automatically calculated based on child tasks. This setting decides how those child percentages are combined.

SIMPLE

“Should every sub-task count the same?”

Parent %  =  (sum of all child %)  ÷  (number of children)

A plain average of the children’s percentages, one vote each.

Best when your sub-tasks are roughly the same size, or when you want a quick “how many of these are done” feel.

WEIGHTED

“Should bigger sub-tasks count for more?”

Parent %  =  sum of (child % × child duration)  ÷  sum of (child durations)

Each child is weighted by its Estimated Duration, so a long task pulls the parent’s % more than a short one.

Best when sub-tasks vary a lot in size — a 10-day task being half done is much more meaningful than a 1-day task being half done.

Worked example — same data, both methods

A “Kitchen units” parent task has two children:

Child taskDuration% Complete
Design the layout (short)2 days100%
Fit kitchen units (long)8 days25%
Simple:  (100% + 25%) ÷ 2  =  62.5%
Weighted:  (100% × 2) + (25% × 8)  =  400  ·  400 ÷ (2 + 8)  =  40%

Same tasks, very different parent numbers:

MethodParent %Why
Simple62.5%The short, finished task counts just as much as the big one
Weighted40%The big, mostly-unfinished task dominates — a more realistic picture of remaining work
The same tasks rolled up two ways: with Simple the parent reads 75% and 8%, with Weighted the same parents read 94% and 15%, because a zero-duration milestone counts in the simple average but carries no weight.
The same tasks, rolled up two different ways.

The roll-up works upwards one level at a time, so a parent of parents is averaged from the sub-parents directly beneath it — each of which has already rolled up its own children.

Under Weighted that brings in a second setting the roll-up quietly depends on. A sub-parent is weighted by its own duration, and a summary task’s duration is itself a choice: Total of Subtask Durations adds its children’s durations together, while Earliest Start to Latest End measures the working time the whole family spans, gaps included. The two rarely agree, so switching that option changes every Weighted percentage above the leaf rows — not just the durations you were looking at. It sits on the same General tab of Settings; there is more on it in Summary tasks, indenting & the WBS.

05 Marking a task complete

The Done column is the shortcut for “this is finished”, and how you set it depends on your version of Excel. Where Excel supports tick boxes inside cells, the Done cell holds a real one and a single click toggles it. On earlier versions the cell shows a tick icon instead and the gesture is a double-click on the cell.

What you cannot do on either is type into the column. An entry is thrown away and a callout appears beside the cell reading Double-click this cell to mark the task as complete. — worth knowing, because the natural thing to try is a 1 or an x, and nothing about the column says otherwise.

Marking an ordinary task Done sets it to 100%. Clear it again on the sheet and the task goes back to the percentage it had before you marked it done, rather than to a bare zero — the old figure is stashed when you tick the box. The Task Form has the same control next to the % Complete field, but there it works the plain way round: unticking Done on the form sets the task to 0%.

On a parent task, Done applies to the whole family at once, so Gantt Excel asks first. Which question you get depends on where the parent stands:

  • Parent not yet complete → This will mark all child tasks as 100% complete. Do you want to continue?
  • Parent already at 100% → This will mark all child tasks as not started (0%). Do you want to continue?

Say yes and every task beneath that parent — sub-parents included, however deep — is set to the same figure in one go. Say no and nothing changes.

In Automatic entry mode this doesn’t apply: child percentages come from the schedule, so writing them by hand would only be recalculated away. Gantt Excel says so — Percentage Complete calculation is set to Automatic. You can turn this off in the Settings window. — and leaves the family untouched.

Task Status follows the percentage rather than the other way round: Not Started at 0%, In Progress in between, Completed at 100%. Set a status by hand and it is recalculated from the percentage straight away, and Gantt Excel says so — Status is set automatically from Percentage Complete, so your entry has been recalculated. There’s more on this in Priority, status & task colours.

06 Which should I choose?

If you want…Percentage EntryParent Tasks Average Calculation
The team to report their own progressManualSimple or Weighted
Progress to track the calendar automaticallyAutomaticSimple or Weighted
All sub-tasks treated equallySimple
A realistic view weighted by task sizeWeighted

The two settings are independent — Automatic entry with a Weighted roll-up is a very common, hands-off setup: tasks update themselves as time passes, and parents reflect the size of the work underneath them.

07 Common questions

I typed a percentage and it changed back — why?
Percentage Entry is set to Automatic, so the figure is derived from the task’s estimated dates and the resource’s calendar; anything typed is recalculated away. Switch Percentage Entry to Manual in Settings if you want to own the number yourself.
Why won’t my parent task’s % Complete accept a number?
It isn’t yours to set. A parent’s percentage is always rolled up from its children, in both entry modes. Nothing is greyed out or locked, which is why it catches people: the field takes your click and then hands it straight back. On the Task Form the cursor is bounced out of the percentage box and the form’s message line reads This is a parent task. Percent Complete is automatically calculated based on child tasks. Type into the cell on the sheet and the same sentence appears as a callout beside it, with your entry discarded and the rolled-up figure written back. Edit the child tasks and the parent follows.
Does % Complete change my dates or the critical path?
No. % Complete records progress; it shades the bar and drives the task’s status, but it never moves a start date, an end date or a duration. Scheduling comes from dates and dependencies, and the critical path is worked out from those.
The bar’s shading doesn’t line up with the whole number in the column — is that a bug?

No, and there are two separate reasons depending on the chart.

On a daily chart in Automatic mode, the percentage is calculated as an exact fraction and the bar is shaded from that figure, while the Task Form’s percentage field only offers whole numbers. On a long task the difference between, say, 49.6% and 50% is visible on the bar but rounds away in the field.

On an hourly chart there is a second, larger effect: the shading is floored at one Time Increment (capped at the task’s own working time), so a barely-started task paints one whole increment of progress while the column still reads a fraction of a percent. Section 03 explains why.

How do milestones behave under Weighted?
A milestone has zero duration, so there is nothing to weight it by — it counts as one unit, the same as any child whose Estimated Duration hasn’t been set yet. That keeps it in the average instead of dropping it out of the sum entirely.
Can I use Automatic for most tasks and Manual for a few?
Not per task — Percentage Entry is a single project-wide setting. The usual approach is to run the project in Manual and update the tasks you actually track, since Automatic overwrites every ordinary task’s figure from the calendar.

Related: The Task Form · Baselines & actuals · The Project Dashboard · Settings